Prep: Heat oven to 350°F (175°C). Line a 12-cup muffin tin with liners or grease lightly.
Whisk dry ingredients: In a large bowl, combine flour, both sugars, baking powder, baking soda, salt, and spices.
Break up any brown sugar clumps.
Mix wet ingredients: In a separate bowl, whisk pumpkin, eggs, oil, milk, and vanilla until smooth.
Combine: Pour wet ingredients into dry. Stir with a spatula just until no flour streaks remain. If using nuts or chocolate chips, fold them in now.
Do not overmix.
Fill and bake: Divide batter evenly among the cups (about 3/4 full). Bake 18–22 minutes, until a toothpick comes out clean and tops spring back.
Cool completely: Let muffins sit in the pan 5 minutes, then move to a rack to cool. They must be fully cool before frosting.
Make the frosting: Beat cream cheese and butter until creamy.
Add vanilla and salt. Mix in powdered sugar, starting with 1 1/2 cups and adding more to thicken to a spreadable consistency.
Frost: Spread or pipe frosting onto cooled muffins. Dust with cinnamon or add a few chopped nuts if you like.