Preheat the oven to 350°F (175°C). Line a 12-cup muffin pan with cupcake liners.
In a large bowl, whisk the gluten-free flour, sugar, baking powder, baking soda, salt, and lemon zest until well combined.
In a separate bowl, whisk the eggs, oil, milk, lemon juice, and vanilla until smooth.
Pour the wet ingredients into the dry.
Stir with a spatula just until no dry streaks remain. Do not overmix.
Divide the batter evenly among the liners, filling each about two-thirds full.
Bake for 16–19 minutes, or until the tops spring back and a toothpick comes out clean or with a few moist crumbs.
Cool in the pan for 5 minutes, then transfer to a wire rack to cool completely before frosting.
Make the frosting: Beat the butter until creamy. Add 2 1/2 cups powdered sugar, lemon zest, 2 tbsp lemon juice, and a pinch of salt. Beat until fluffy, 1–2 minutes.
Adjust with more lemon juice for tang or more powdered sugar for thickness.
Frost cooled cupcakes using a knife or piping bag. Garnish with extra zest if you like.