Ensure the butter, eggs, and lemons are at room temperature before you begin. Preheat the oven to 350°F.
In a stand mixer with the paddle attachment, hand mixer, or with some elbow grease, beat the butter until light and fluffy, about 5 minutes. Add in the sugar and cream together for another 5 minutes.
Add the sour cream, oil, and eggs. Mix slowly to incorporate. Add the lemon juice, zest, vanilla and lemon extracts. Mix well.
Add the gluten-free flour, baking powder, baking soda, and salt. Mix until just combined.
Pour the mixture into a greased 9x5" loaf pan. I used a silicone loaf pan inserted into a metal one (to keep its shape). Bake on the middle rack in the oven for approximately 65 minutes. Check that a skewer inserted comes out clean. If so, it's done. Cool for 10 minutes in the pan, then remove to a wire rack and allow to cool completely (at least 2 hours).
While the loaf is cooling, you can prepare the buttercream icing. Beat the softened butter until light and fluffy in a stand mixer with the paddle attachment or a hand mixer. Add the icing sugar and slowly beat together. Add the lemon extract and additional milk for consistency, ¼ teaspoon at a time. You want the buttercream to be thick but creamy and spreadable.
Once the loaf is completely cool, top with a thick layer of the buttercream. Slice and enjoy! The loaf will keep in an airtight container at room temperature for 2 days. Avoid the fridge as it will make the loaf dry.