Preheat your oven to 375°F (190°C). Line two (12-cup) muffin pans with paper liners, and lightly spray the top part of the pan with nonstick spray to prevent sticking.
In a large bowl, sift together 2 cups of all-purpose flour, 1 cup of granulated white sugar, 2 teaspoons of ground cinnamon, 1 teaspoon of baking powder, ½ teaspoon of baking soda, ½ teaspoon of ground allspice, and ½ teaspoon of salt. This dry mixture creates the base for your muffins.
In a separate bowl, whisk together 1½ cups of sour cream, 3 large eggs, 3 tablespoons of melted unsalted butter, and 1 tablespoon of vanilla extract until well blended. The wet ingredients should be smooth and creamy.
Gently fold in 1½ cups of chopped fresh peaches into the wet mixture. These peaches will add moisture and sweetness to your muffins.
Pour the wet mixture into the dry mixture and stir just until blended. Be cautious not to overmix; a few lumps are perfectly fine.
Using a large ice cream scoop, scoop the batter into the prepared muffin cups, filling each cup to the top of the paper liner.
In a small bowl, mix together 1½ cups of coarsely chopped walnuts, ⅓ cup of all-purpose flour, ⅓ cup of firmly packed light brown sugar, and ½ teaspoon of ground cinnamon. Then stir in 3 tablespoons of softened unsalted butter until crumbly.
Sprinkle the streusel mixture generously over the muffin batter, pressing it lightly into the batter to ensure it sticks.
Bake the muffins for 20 to 25 minutes, or until the tops spring back when pressed lightly, and a toothpick inserted in the center comes out clean.
Once baked, remove the muffins from the oven and let them cool in the pan for about 5 minutes before transferring them to a wire rack. Serve warm or at room temperature to enjoy their full flavor.