Add all ingredients except the chicken in a small bowl. Whisk to combine.
Place the chicken in a large ziploc bag or baking dish and add the marinade. Close the bag, massage together to coat, and refrigerate for 2 to 6 hours. (Do not marinate longer than 8 hours, or the chicken will get mealy and begin to break down.)
Preheat the grill to high heat for direct cooking. Grease the preheated grill grates to prevent sticking by wiping them down with a folded paper towel that's been soaked in vegetable oil.
Remove the chicken from the marinade and shake off any excess liquid. Grill the chicken skin side down over direct heat for about 5-7 minutes, with the lid closed as much as possible, until the skin is crispy and golden. Flip and grill for an additional 5-7 minutes, until the meat is firm and the internal temperature registers 165°F.
Serve pollo asado with warm corn tortillas or flour tortillas and Mexican rice.
Notes
Marinating: I recommend marinating the chicken for at least 4 hours but no longer than 8 hours. If marinated too long, the citrus juices start to break down the chicken too much and can give it a mushy texture.
Achiote paste: Can be found in most Mexican grocery stores or even in the international aisle of some big box grocery stores. You can also find achiote paste online.
To bake in the oven: Preheat the oven to 400°F and prepare a baking sheet by lining it with aluminum foil. Arrange the marinated chicken on the baking sheet in a single layer and bake for 20-25 minutes, flipping halfway through, until the internal temperature reaches 165°F. Set the oven to the broiler setting and move the baking rack to the top section. Broil the chicken for 2-3 minutes to give it some extra char and color.
To cook on the stovetop: In a large skillet or grill pan, heat 1 tablespoon of olive oil over medium-high heat. Cook the marinated chicken for 5-7 minutes on each side, until the internal temperature reaches 165°F. Depending on the size of your skillet, you may need to work in batches.