About an hour before cooking, place the steak on the counter so it comes up to room temperature.
In a small bowl, combine the chipotle chili powder, cumin, garlic powder, onion powder, paprika, salt, and pepper. Reserve 1 1/2 teaspoons for the vegetables.
In a large zip-top bag, combine 2 tablespoons of olive oil, lime juice, soy sauce, and the remainder of the fajita seasonings. Add the steak, seal the bag, and press the bag to coat the marinade onto steak. Set it aside on the counter while you prepare the vegetables.
Remove the onion skin and slice into thin strips. Core the bell peppers to remove the seeds and thinly slice.
Heat 1 tablespoon olive oil in a 12" cast iron or non-stick skillet over medium high heat. Add the onions and allow to cook for 4-5 minutes, or until softened. Add the bell peppers and sprinkle with the reserved 1 1/2 teaspoons of fajita seasoning. Cook for about 3-5 minutes. Transfer and set aside on a plate.
Melt butter on the same skillet and sear the steak. Allow to sear for 3 to 4 minutes (or more depending on how done you like your steak) on each side. Internal steak temperature should be 145F for medium rare or 160F for medium. Transfer steak to a cutting board and allow to rest for at least 5 minutes before slicing into thin strips.
Fill bowls with rice. Top with steak, onions, peppers, and your favorite toppings.