Add the elbow macaroni, whole milk, and chicken broth to a large heavy-bottomed pot, stirring gently to distribute the pasta evenly. Do not preheat the pot — starting with a cold pot ensures the pasta cooks evenly without becoming mushy.
Add the butter, garlic powder, onion powder, dry mustard powder, smoked paprika, salt, and black pepper directly to the pot. Stir everything together to distribute the seasonings evenly throughout the liquid.
Place the pot over medium-high heat and bring to a full rolling boil, stirring frequently every 2 to 3 minutes to prevent sticking. Watch carefully, as milk can bubble up and overflow quickly.
Once boiling, reduce heat to medium-low and cook for 10 to 12 minutes, stirring every 1 to 2 minutes, until the pasta is al dente and the liquid has thickened into a saucy consistency. If the mixture thickens too quickly before the pasta is done, add a splash of milk (2 to 3 tablespoons at a time).
Reduce heat to low and add the cubed room-temperature cream cheese to the pot. Stir continuously for 1 to 2 minutes until the cream cheese is completely melted and incorporated into a smooth, velvety sauce.
Add the shredded cheddar and Gruyere a large handful at a time, stirring each addition until fully melted before adding the next. Keep the heat on low throughout this step to ensure a smooth, creamy sauce.
Taste the finished mac and cheese and adjust salt, pepper, or add a dash of hot sauce to your preference. If the sauce is too thick, stir in a splash of warm milk over low heat until it reaches your desired consistency.
Spoon into bowls and garnish with fresh chives, parsley, or an extra pinch of smoked paprika. Serve immediately for the creamiest results, as the sauce thickens as it sits.