Prepare stock: Bring broth to a simmer, leave it on the lowest heat during the entire cooking process.
Chop vegetables: Finely chop the onions and the garlic.
Cook vegetables: Heat 1 tablespoon butter in a large heavy-bottomed pot (for instance, Dutch oven or nonstick pot). Cook the chopped veggies for about 2 minutes until the onions are translucent; they should not get brown.
Add rice: Stir in the rice until coated with butter and cook, often stirring, for about 3-4 minutes until the rice is translucent.
Add white wine and stir for about 2 minutes until completely evaporated. Start adding the cooking liquid, about 1 cup (large soup ladle) at a time, stirring often but gently. Only add the next cup of liquid when the previous one has been completely absorbed. Cook the rice until al dente, about 25 minutes.
Cook zucchini: While the rice is cooking, grate the zucchini on the large side of a box grater. Melt 1 tablespoon butter in a large nonstick pan and cook zucchini for 2-3 minutes, often stirring, until golden and only slightly softer. Remove from the heat.
Finish dish: Once the risotto is ready, add zucchini and reheat gently for another 2-3 minutes. Add Parmesan, 1 tablespoon butter, salt, and pepper to taste. Stir to melt cheese and butter; the dish should be glossy and creamy.
Rest: Let stand, covered, for 5 minutes before serving. Sprinkle with herbs if desired.