Preheat oven to 350 F. Line two baking sheets with parchment paper or silicone baking mat.
In a mixing bowl, whisk together flour, baking powder, and salt until combined. Set aside.
In a large bowl, beat together butter and sugars until well-combined.
Beat in egg yolks one at a time, scraping down the sides as necessary.
Mix in vanilla extract, lemon flavor, lemon zest, sour cream, and milk until combined. Batter may look curdled at this point.
Add dry ingredients, and mix until just combined.
Scoop dough using a medium cookie scoop (1.5 tablespoons), and drop onto prepared baking sheets, spacing cookies 2-inches apart.
Bake for 10-13 minutes.
Let cool on baking sheet for 10 minutes.
Transfer to a wire rack to finish cooling.
To make the frosting, beat together butter, powdered sugar, 2 tablespoons milk, vanilla, lemon zest, and salt.
Beat until well-combined, adding in additional milk as needed.
Frost cooled cookies with frosting.
Make sure that the butter is at cool room temperature, not room temperature or melting. The butter should dent if poked but shouldn't be warm. If the butter is too warm, the cookies won't hold their shape and will end up flat.