Heat the oven to 350°F (175°C). Lightly grease a standard 9x5-inch loaf pan and line the bottom with parchment for easier removal.
Make the streusel: stir the flour, brown sugar, and cinnamon in a small bowl. Pour in the melted butter and toss with a fork until large crumbs form. Set aside while you prepare the batter so the butter firms a little.
In a medium bowl combine the flour, baking soda, pumpkin pie spice, cinnamon, and salt. Whisk to fully distribute the leavening and spices.
In a separate large bowl whisk the brown and granulated sugars with the oil until smooth. Add the egg, pumpkin puree, and vanilla, and whisk until the mixture is glossy and uniform.
Fold the shredded zucchini into the pumpkin mixture with a rubber spatula so it’s evenly dispersed. Squeeze any excess moisture from the zucchini before adding to avoid a wet batter.
Add the dry ingredients to the wet mixture in two additions, folding gently after each addition until just combined. Do not overmix; a few streaks of flour are fine. Fold in the chopped nuts if using.
Spoon the batter into the prepared loaf pan and smooth the top. Sprinkle the streusel evenly over the batter, pressing lightly so it adheres but remains crumbly.
Bake on the center rack for 60–70 minutes, rotating the pan halfway through baking so it bakes evenly. The loaf is done when a toothpick inserted near the center comes out with only a few moist crumbs attached.
Remove from the oven and let the bread cool in the pan on a wire rack for about 15 minutes. Run a thin knife around the edges, lift out using the parchment, and cool completely on the rack before slicing so the crumb sets.
Store cooled bread wrapped tightly at room temperature for up to 3 days, or refrigerate for up to 5 days. Warm slices briefly before serving if desired.