Preheat your oven to 350°F (175°C). Grease a 9×5-inch loaf pan and line with parchment paper, leaving an overhang on the sides for easy removal.
In a medium bowl, whisk together the flour, baking soda, cinnamon, nutmeg, cloves, ginger, and salt for the bread batter.
In a large bowl, whisk the eggs, granulated sugar, and brown sugar until well combined and slightly frothy (about 1 minute of vigorous whisking).
Add the pumpkin puree, oil, milk, and vanilla extract to the egg mixture. Whisk until completely smooth and uniform in color.
Add the dry ingredients to the wet ingredients and fold gently with a spatula just until combined. Stop mixing as soon as the flour disappears.
For the streusel topping, whisk together the flour, brown sugar, cinnamon, and salt in a medium bowl.
Add the cold cubed butter and use a pastry cutter or your fingertips to work the mixture until it resembles coarse crumbs with some pea-sized butter pieces remaining.
Fold in the pecans and pumpkin seeds if using.
Pour the batter into the prepared loaf pan and smooth the top with a spatula.
Generously sprinkle the streusel topping evenly over the batter, gently pressing it into the surface to help it adhere during baking.
Bake for 60-65 minutes, or until a toothpick inserted into the center comes out with just a few moist crumbs attached.
Allow the bread to cool in the pan for 15 minutes, then use the parchment paper overhang to lift it out onto a wire rack to cool completely, about 45 minutes.