Add all the ingredients to a resealable plastic gallon bag. Mix well and let the steak marinate in refrigerator for at least 4 hours and up to 24 hours.
Add the canola oil into a Dutch oven and heat over high heat. When the oil is hot stir in the onions, and cook until softened, about 5 minutes. Add the serrano pepper and garlic and cook for 2 minutes more. Add the chili powders and cumin, and stir to combine. Cook for 1 minute, then add the beef stock and deglaze the pan, Stir in the tomatoes and beans and combine well. Reduce the heat and simmer, stirring occasionally, for 45 minutes to 1 hour.
Preheat a grill pan over medium heat.
Remove the meat from the marinade, pat dry, put on the preheated grill pan and cook for 5 minutes per side. Add the chayote and peppers to the pan with the meat and cook until tender, about 5 minutes.
Remove the meat from the grill to a cutting board, let rest for 5 minutes and then slice it against the grain.
Ladle some of the chili into each bowl and top with some of the meat and vegetables. Garnish with cheese, sour cream, avocado, and lime and serve with a warm tortilla.