Cream the butter and sugar in a large mixing bowl. Add the eggs, one at a time, beating well after each addition. Beat in vanilla.
In a separate bowl, combine the flour, baking powder, and baking soda. Gradually add to the creamed mixture, alternating with the buttermilk. Cover and refrigerate for at least one hour or until the dough is easy to handle.
Preheat oven to 350°F. Line baking sheets with parchment paper and set them aside.
On a heavily floured surface, roll out the cookie dough to ¼-inch thickness. With a floured heart-shaped cookie cutter, cut out cookies. Place 1-inch apart on the prepared baking sheet. Sprinkle with coarse or colored sugar, if desired.
Bake for 8-10 minutes or until the edges are slightly browned. Cool the cookies on the baking sheet for 2 minutes. While the cookies are still warm, poke two holes into each cookie with a straw. Carefully move the cookies to a wire rack to cool completely.
When the cookies are completely cooled, thread ribbons through the holes and tie them into bows, trim ends if necessary.
Notes
To freeze the cookie dough
Wrap the cookie dough tightly in plastic wrap, then freeze. Thaw overnight in the refrigerator, then roll out, cut into shapes, and bake according to the recipe's instructions. Be sure to use any frozen cookie dough within 3 months.
To freeze baked cookies
After baking, allow the cookies to cool completely. Place them in a single layer on a parchment-lined baking sheet to freeze them, then store them in a freezer-safe zip-top storage bag. Be sure to use them within 1 month.