Preheat the oven to 350°F. Line two 12-cup muffin pans with cupcake liners.
In a medium bowl, whisk together the flour, baking powder, baking soda, and salt. Set aside.
In a large mixing bowl, beat the softened butter and granulated sugar until light and fluffy, about 2–3 minutes.
Add the eggs one at a time, beating well after each addition.
Add the orange zest, fresh orange juice, orange extract, and vanilla extract. Mix until well combined.
Add the dry ingredients in three additions, alternating with the buttermilk. Mix on low speed just until combined after each addition. Do not overmix. The batter will be fairly thin.
Divide the batter evenly among the cupcake liners, filling each about two-thirds full.
Bake for 12–14 minutes, or until a toothpick inserted into the center comes out clean.
Let the cupcakes cool in the pans for about 5 minutes, then transfer them to a wire rack to cool completely before frosting.
Frosting:
Make the frosting: Beat the softened butter until smooth and fluffy, about 2–3 minutes.
Gradually add the powdered sugar, about 1 cup at a time, mixing well after each addition. Add the milk and clear vanilla extract and beat until light and fluffy.
If the frosting is too thick, add a little more milk. If it is too thin, add additional powdered sugar until it reaches your desired consistency.
Frost the completely cooled cupcakes. Decorate with orange sprinkles, candied orange slices, or straws, if desired.