Trim the pork of excess fat and cut into 1-inch cubes.
TO MAKE ON THE STOVE (see Notes section for alternative methods): Place the pork in a large pot. Zest the orange directly into the pot, then squeeze in the juice.
Add the garlic, onion, chipotle chile powder, cumin, oregano, salt, black pepper, cinnamon, and cloves. Pour in enough water so that the pork is barely submerged.
Bring the liquid to a boil over high heat, then reduce the heat to medium or medium-low, maintaining a steady simmer. With a spoon, skim off and discard any foamy scum that rises to the surface.
Let simmer uncovered for 1 1/2 hours, adding a little more water as needed to keep the pork lightly submerged (it's OK if a few small areas poke through the surface of the liquid; you may not need to add any.
Increase the heat to medium high. Continue cooking 20 to 30 minutes more. All of the liquid will cook away (it looks like a ton of liquid, but it will!). Stir often, until the meat breaks apart in places and has crispy pieces throughout. If at any point the meat threatens to really burn, splash in a little water and scrape the bottom of the pot. To serve, pile meat into tortillas and add toppings of choice.
Notes
TO MAKE IN A SLOW COOKER: Trim the meat as directed. In a mixing bowl, whisk together the spices, garlic, orange juice, and orange zest. Scatter the onion in the bottom of a slow cooker, then add the pork cubes on top. Pour the juice mixture over the pork, tossing to coat. Cover and cook on LOW for 5 to 6 hours or HIGH for 4 to 5 hours, until the pork is tender. Turn your oven to broil. Shred the pork in the slow cooker using two forks, then stir the shredded pork into the sauce. Use a slotted spoon to transfer the pork to a baking sheet lined with aluminum foil. Broil for 3 to 5 minutes. Stir the pork and toss it with more of the sauce. Broil for 3 to 5 minutes more.
TO MAKE IN AN INSTANT POT: Trim the pork as directed and season it with 2 teaspoons salt. Let sit for 30 minutes. In a mixing bowl, whisk together the spices, garlic, orange juice, and orange zest. Add the onion and 1 tablespoon oil to the Instant Pot. Saute until softened, about 5 minutes. Turn off the Instant Pot. Pour in about half of a 14-ounce can of low-sodium chicken broth, stirring with a wooden spoon to remove any stuck-on pieces of food. Add the pork, then pour in the remaining broth and the juice mixture. Stir. Close and seal the Instant Pot lid. Cook on HIGH pressure for 45 minutes. Let the pressure release naturally for 15 minutes. Turn your oven to broil. Shred the pork in the Instant Pot, then stir the shredded pork into the sauce. Use a slotted spoon to transfer the pork to a baking sheet lined with aluminum foil. Broil for 3 to 5 minutes. Stir the pork and toss it with more of the sauce. Broil for 3 to 5 minutes more.
TO STORE: Refrigerate leftover carnitas in an airtight storage container for up to 3 days.
TO REHEAT: Rewarm carnitas on a baking sheet in the oven at 350 degrees F or in the microwave.
TO FREEZE: Freeze carnitas in an airtight, freezer-safe storage container for up to 3 months. Let thaw overnight in the refrigerator before reheating.