Preheat the oven to 350°. Line 2, 12-count muffin pans with paper liners and set aside.
Using stand or hand-held mixer, beat the butter and sugar together on medium-high for 2-3 minutes in a large bowl until fully creamed. You may need to scrape down the sides and bottom of the bowl 1-2 times. Add room temperature eggs and vanilla and continue beating on medium-high until everything is fully mixed, about 2 minutes.
In a medium bowl, whisk together flour, baking powder, and salt. Slowly add the dry ingredients to the wet ingredients, alternating with the milk and beating on low speed. Add in the coconut oil, lemon zest, and lemon juice on low speed until just combined.
Using an ice cream scoop, scoop batter evenly into the 24 cupcake liners (about 2/3 full).
Bake for 20 minutes and remove from oven. Insert a toothpick in the middle of a cupcake to ensure doneness (a clean toothpick = done, crumbs or batter mean cook for another 2-3 minutes). Allow to cool completely before frosting.
While cupcakes are cooling, begin to make the frosting. Add the softened butter and powdered on low speed until completely combined.
Continue to beat on medium speed until the frosting is creamy.
Add the lemon zest and lemon juice and continue to mix on low-medium.
Make any adjustments based on preferences (additional sugar if you would like it sweeter or if the frosting is too thin, additional lemon juice or zest if you like it extra lemony!).
Once cupcakes have completely cooled, apply frosting and try not to eat an entire batch!