Preheat the oven to 350˚F. Position the rack to the center of the oven. Line cupcake pans with paper liners.
In a medium bowl, sift together the flour, baking powder and salt; set aside. In another medium bowl, whisk together the milk and egg whites until well blended.
Place the sugar and lemon zest in a large mixer bowl and rub together with your fingers until the zest has moistened all the sugar. Use the paddle attachment to beat the butter in at medium speed for 3 minutes, until very light. Add in the extracts and then one third of the flour mixture, while continuing to beat on medium speed. Mix in half of the milk-egg mixture, then half of the remaining dry ingredients. Beat in the rest of the milk and eggs until fully incorporated, then mix in the remaining of the dry ingredients. Beat at medium speed for a full 2 minutes to aerate. Evenly distribute the batter into the cupcake pans.
Bake for 18-22 minutes (for regular cupcakes) or 10-12 minutes (for miniature cupcakes). The cupcakes are done when they pass the toothpick test and are springy to the touch. Cool completely on a wire rack.
To Make the frosting:
Puree the raspberries in a blender and then push through a fine mesh strainer to discard the seeds; set aside. Cream together the butter and shortening in a large mixing bowl, with the paddle attachment. Beat in the vanilla and most of the raspberry puree, until fully combined.
Stir in the sugar 1/2 cup at a time, mixing thoroughly after each addition, until reaching desired consistency. Use more or less sugar as needed, and add more raspberry puree to taste. If the frosting is too thick, beat in milk one tablespoon at a time.
Pipe frosting onto cupcakes or spread evenly with knife or spatula. Garnish with additional fresh raspberries if desired.
If you do not have buttermilk on hand, you can substitute with mixing 1 tablespoon vinegar into 1 cup of milk and let stand 5 minutes. Top off with additional milk to create 1 and 1/4 cup.
Do not discard your egg yolks. Save them to make ice cream instead!