In a large bowl, whisk orange zest and juice, lime zest and juice, soy sauce, honey, ginger, garlic, cilantro, salt, cayenne, and pepper. Add the olive oil, whisking constantly until combined.
Transfer ¼ cup of the orange-ginger mixture to a separate small bowl; cover and refrigerate. Add the chicken to the bowl with the remaining orange marinade and toss them in the sauce. Marinate for at least 1 hour and up to 24 hours.
Preheat your gas grill with all burners on high and close the lid. When the grill is hot (after about 15 minutes), turn the 2 burners closest to the front to low, keeping the back burner on high. Remove the chicken from the bag and arrange on the grates over the low heat burners.
Cover and cook until the underside of the chicken is just beginning to develop light grill marks, 6 to 9 minutes. Flip the chicken, cover, and continue to cook until the chicken is firm to touch, 6 to 9 minutes longer. To get a nice char on the chicken, now move the chicken to the part of the grill over high flames and cook uncovered until each side has solid grill marks, 5 to 6 minutes, flipping halfway.
The chicken should be completely firm to the touch and register 160 degrees F on an instant-read thermometer. Transfer the chicken to a plate, tent with foil, and let it rest for 5 minutes before serving.
Stir the refrigerated orange-ginger sauce and drizzle or brush it on the chicken before serving.