Heat oven to 350ºF.
In a stand mixer, cream together 1/2 cup butter, sugar and eggs, whipping until very light and fluffy.
Add flour, salt and baking powder. Beat just until incorporated. Whisk together buttermilk and vanilla. Add to batter, mixing until smooth (being careful not to overmix). Fold in rainbow sprinkles.
Scoop into parchment lined muffin cups, filling each cup 3/4 full. Bake 17-20 minutes, or until the center springs back when touched lightly. Remove and cool completely.
Prepare the frosting by beating 1 cup butter in a stand mixer fitted with the whisk attachment, whipping until fluffy. Add powdered sugar, half of the milk and extracts. Beat slowly until well mixed, then add more milk, if needed, until frosting is light and fluffy. Tint to desired color, beat on high for 1 minute, until very fluffy.
To ice, use a knife to place a heap of frosting atop each cupcake, then swirl frosting toward the center. Decorate with sprinkles.