Cream butter and sugar until fluffy in a stand mixer (or mix using a handheld electric mixer).
Add eggs and vanilla extract.
Add buttermilk and mix until smooth.
Mix in baking soda, baking powder and salt.
Add flour and mix until a soft dough forms. Since the dough needs to chill, it will be soft and slightly sticky, but should still form into a nice ball.
Wrap dough in plastic wrap and chill in the refrigerator for at least 2 hours, until firm.
Preheat oven to 350 degrees.
Once chilled, divide the dough in half and roll each section ½" thick on a lightly floured surface. Cut with cookie cutters. Repeat until all cookie dough has been rolled and cut.
Place cookie cutouts on ungreased baking sheets.
Bake cookies for 10-11 minutes.
Allow cookies to cool 5 minutes before transferring to a wire cooking rack.
Beat frosting ingredients together until smooth using an electric mixer or a stand mixer. Frost cookies with buttercream.