In a medium bowl, add the flour, baking powder, baking soda, salt, cinnamon, ginger, nutmeg, and cloves. Whisk the mixture lightly until there are no clumps, and the spices are mixed throughout. Set aside.
Cream the butter with a mixer for a few minutes until soft and fluffy.
Add the sugars and eggs to the butter, and beat until light in color and fluffy in texture (about 5 minutes).
Next, add the Grand Marnier and beat until incorporated.
Add 1/4 cup juice from the freshly squeezed orange and 1/3 of the flour mixture, and beat until incorporated, scraping the batter down into the bowl as necessary. Add the coconut milk and 1/2 the remaining flour mixture, and beat until blended. Add the buttermilk and the rest of the flour mixture and again beat until incorporated, scraping the bowl as necessary.
Measure 2 - 3 tbsp orange zest from the freshly zested orange, and add to the mixture; also add the coconut and mix until blended.
Using an ice cream scoop, fill the cupcake liners with one scoop of batter each (filling the liners about 3/4 full).
Bake 20 minutes, or until a toothpick inserted in the center of a cupcake comes out clean.
Remove from the oven and let rest in the muffin pan for 15 minutes.
Remove the cupcakes from the muffin tin, and place on a rack to cool thoroughly before frosting.
Make frosting: Beat the cream cheese in a medium bowl until creamy.
Measure 2 tbsp juice from the freshly squeezed orange and add to the cream cheese.
Measure 1 cup of confectioner's sugar and add to the cream cheese mixture. Beat until the ingredients are smooth.
Add the coconut milk, the Grand Marnier, and another cup of confectioner's sugar. Beat until smooth.
Add another cup of confectioner's sugar and beat until smooth.
Add 1/2 cup confectioner's sugar and beat until smooth.
At this point, check the consistency. If it is firm enough to spread on the cupcake, it's finished. Add a little more confectioner's sugar (a few tablespoons at a time) if it needs to be firmer.