Bring a large pot of salted water to a boil and cook macaroni until al dente; drain and set aside.
In a medium bowl, combine the shredded chicken with the BBQ sauce until evenly coated.
In a large heavy-bottomed saucepan, melt the butter over medium heat.
Whisk in the flour and cook for 1 to 2 minutes to form a roux, ensuring it does not brown.
Slowly pour in the milk while whisking constantly to prevent lumps; simmer until the sauce thickens.
Remove saucepan from heat and stir in the shredded cheddar and monterey jack cheese until fully melted.
Whisk in the garlic powder, onion powder, salt, and black pepper.
Add the cooked macaroni and the BBQ chicken mixture to the cheese sauce and fold gently until combined.
Serve immediately, or transfer to a baking dish and broil for 3-5 minutes if a crispy top is desired.