Bring chicken broth, rice, garlic, and a generous pinch of salt to a boil in a medium saucepan over medium-high heat.
Cover, reduce heat to low and cook until all the liquid has evaporated and the rice is tender, about 20 minutes. Let sit 10 minutes, fluff with fork, stir in cilantro and cover to keep warm.
Meanwhile, heat oil in a large frying pan over medium heat. Add onion and season with salt and pepper. Cook until starting to brown, about 5 minutes.
Add beef, tomato paste, cumin, oregano, and chile powder. Cook, breaking up meat with the back of a wooden spoon and cook until beef is cooked through, about 10 minutes.
Using a potato masher mash 1 cup of the beans in a bowl with 1/2 cup of the bean cooking liquid or the liquid from the can if you are using canned beans. Stir into the beef mixture along with remaining 1/2 cup whole beans and lime juice. Taste to see if it needs more salt then remove from heat and cover to keep warm.
Heat a large frying pan over medium-high heat. Warm the tortillas on both sides for a minute or two but not until they are toasted. Transfer to a baking sheet and mound about 3/4 cup beef and 3/4 cup rice in the bottom third of the tortillas. Add some pico de gallo if you'd like.
Fold in the sides then roll the bottom of the tortilla over the filling, pulling back on it firmly to tighten it around the filling then roll the rest of the way up to close. Set seam side down on a tray. Repeat with remaining tortillas and filling.
Place burritos seam side down in a hot dry skillet to seal closed and get a nice golden crust. Flip and toast the other side. Serve immediately with pico de gallo or let cool and wrap tightly with plastic wrap and then foil. Burritos will keep for up to 3 months in the freezer and 5 days in the refrigerator.
To rewarm: Unwrap burritos and place on a baking sheet if you are heating more than one or on a oven-safe frying pan for just one burrito. Heat in a 350°F oven for 20 minutes.