Preheat the oven to 400°F.
Set a large (3.8 quart) shallow dutch oven over moderate heat. Once hot, drizzle in the olive oil and add the ground beef. Use a wooden spoon to break up the meat and cook, stirring often, until the beef has cooked through and just starting to brown, about 8 minutes.
Add the onion and garlic and cook for another 3 to 5 minutes. Stir in the diced green chilies, all but 2 tablespoons of the taco seasoning (reserving those 2 tablespoons for the cheese sauce), 1/3 cup water, and a pinch of salt and pepper. Cook until the mixture has thickened. Transfer to a bowl or plate and set aside.
Add the butter to the same pan and once melted, whisk in the flour. Cook for about 30 seconds or so. Then slowly whisk in the milk. Lower the heat and cook, stirring often, until the mixture has thickened. Season with a large pinch of salt, pepper, the reserved 2 tablespoons taco seasoning and a couple dashes of hot sauce.
Remove from the heat and then add 1 cup Cheddar, 1 cup pepper jack and the American cheese if using. Stir until the cheese has melted and the sauce is smooth and silky. Stir in the cooked macaroni and the seasoned ground beef from earlier until well combined.
Top with the remaining cheddar and pepper jack and bake until golden brown and bubbly, about 15 minutes. Remove from the oven and allow to cool slightly. Serve with your desired taco toppings and enjoy!