Season both sides of the chicken breasts with ½ teaspoon kosher salt and black pepper.
In a large Dutch oven over medium heat, warm the vegetable oil. Sear each chicken breast on both sides, working in batches if needed to avoid crowding the pot. Remove the chicken from the pot and set aside on a plate.
To the same pot, add garlic, chili powder, cumin, onion powder, and the remaining 1 ½ teaspoons of salt. Sauté for about 30 seconds until the mixture is fragrant.
Reserve 2 cups of the chicken stock for later use. Pour the remaining stock into the pot, scraping any browned bits from the bottom. Return the seared chicken to the pot, bring it to a boil, then reduce to a simmer. Cover and cook for 30 minutes.
Remove the chicken from the pot and thinly slice or shred. Return the chicken to the pot.
In a bowl, whisk together the reserved 2 cups of chicken stock with masa harina until smooth. Gradually pour this mixture into the soup, stirring constantly.
Add the enchilada sauce and blend well. Bring the soup back to a simmer and cook for an additional 30 minutes, stirring occasionally, until thickened.
Turn off the heat and stir in half of the Monterey Jack cheese and half of the cheddar cheese, mixing until melted and creamy. Adjust seasoning if desired.
Serve hot, garnished with additional cheese, tortilla strips, fresh cilantro, and a dollop of sour cream if desired.