Preheat oven to 350ºF degrees. Line a 12-count muffin pan with cupcake liners.
In a mixing bowl, whisk together the flour, baking powder, baking soda, and salt until combined; set aside.
In the bowl of a stand mixer fitted with a paddle attachment, beat the butter and sugar together on medium speed until lightened and creamy. Beat in the eggs, one at a time, until combined, scraping down the sides and bottom of the bowl as needed. Beat in the Greek yogurt, vanilla, and almond extract on medium speed.
Pour the dry ingredients into the wet ingredients and mix until combined. Add the milk, lemon juice, and zest then mix until just combined, scraping down the sides and bottom of the bowl as needed.
Fill cupcake liners 2/3 of the way full. Bake for 18-22 minutes or until a toothpick inserted in the center comes out clean. Allow to cool in the pan for 5 minutes before transferring to a wire rack to cool completely.
To make the Buttercream:
In a medium saucepan over medium heat, cook the cherries, granulated sugar, and lemon juice together until mixture begins to boil and juices start to release. Continue cooking and stirring, smashing the cherries as they soften (a potato masher works great!), until all the cherry juices have released, about 8-10 minutes.
Strain mixture through a fine mesh sieve into a bowl, using the back of a spoon to press as much cherry juice out as possible.* Refrigerate cherry juice until completely cooled.
In the bowl of a stand mixer fitted with a paddle attachment, beat the butter and salt together on high speed until smooth and creamy, about 2-3 minutes.
Add the powdered sugar 1 cup at a time, beating on low at first then increasing to high speed. Once creamy and combined, beat in the cooled cherry juice, the vanilla, and almond extract. Add the heavy cream, and whip on high until light and fluffy, about 2-3 minutes.
Frost or pipe buttercream onto cupcakes, as desired.
Notes
*You should end up with about 1/3 cup of cherry juice.