Heat a large Dutch oven or heavy pot to medium heat.
Add 2 Tablespoons of the butter and let melt.
Add onion, stir, and cook 5 minutes or until translucent and softened but not browned.
Turn down heat to low-medium (about 2).
Add broth, paprika, garlic powder, broccoli, carrot, and macaroni. Stir and cover.
Cook 20 minutes, stirring halfway through.
Check for doneness. Add cheeses and the rest of the butter (1 Tablespoon). Stir together.
Turn heat off. Cover and let sit until cheeses melt (about 5 minutes).
Once cheese is melted, stir in milk and cover about 5 minutes to warm. Stir again before serving.