Preheat the oven to 350°F (175°C). Grease and flour the two 9-inch round cake pans and line the bottoms with parchment paper.
In a mixing bowl, cream together the softened butter and granulated sugar until light and fluffy using an electric mixer, about 3-4 minutes.
Add the eggs one at a time, mixing well after each addition. Stir in the vanilla extract.
In a separate bowl, sift together the all-purpose flour, baking powder, and salt.
Gradually add the dry ingredients to the butter mixture, alternating with the whole milk. Begin and end with the flour mixture. Mix until just combined; do not overmix.
Gently fold in the fresh raspberries with a rubber spatula, being careful not to break them.
Divide the batter evenly between the prepared cake pans. Bake in the preheated oven for 30-35 minutes, or until a toothpick inserted in the center comes out clean.
Once baked, remove the cakes from the oven and let them cool in the pans for about 10 minutes. Transfer them to a cooling rack to cool completely.
While the cakes cool, prepare the lemon buttercream. In a mixing bowl, beat the softened butter until creamy. Gradually add the powdered sugar, lemon juice, lemon zest, vanilla extract, and a pinch of salt. Beat until light and fluffy.
Once the cakes are completely cool, place one layer on a serving plate. Spread a layer of lemon buttercream on top. Place the second cake layer on top and frost the entire cake with the remaining lemon buttercream.
Decorate with additional fresh raspberries on top if desired. Slice and serve.