Boil the macaroni in salted water until al dente. Reserve a splash of pasta water, then drain.
Melt the butter in a large pot over medium heat. Sprinkle in flour and whisk for 1–2 minutes.
Slowly whisk in the milk and half-and-half until smooth. Simmer, stirring, until slightly thickened.
Blend in the cream cheese until fully melted and velvety.
Stir in Buffalo sauce, garlic powder, onion powder, salt, and pepper.
Reduce heat to low. Add cheddar and Monterey Jack by handfuls, stirring until the sauce is smooth.
Fold in the chicken and cooked macaroni. Add a splash of pasta water if you want a looser sauce.
Warm through, then top with green onions and blue cheese, if using. Serve hot.