Whisk together the flour, baking powder, and salt in a medium bowl. This ensures even distribution of leavening agents.
In a large bowl, beat the softened butter and sugar with an electric mixer on medium speed for 2-3 minutes until light and fluffy. The mixture should change from yellow to almost white.
Add the egg, vanilla extract, and almond extract (if using) to your butter-sugar mixture. Beat until completely incorporated, about 1 minute.
Add the flour mixture to the wet ingredients in three batches, mixing on low speed just until incorporated. Avoid overmixing. The dough should pull away from the sides of the bowl but still feel soft and pliable.
Divide the dough in half, shape each portion into a disc, wrap in plastic wrap, and refrigerate for at least 1 hour or overnight.
Preheat your oven to 350°F (175°C) and line baking sheets with parchment paper.
On a lightly floured surface, roll the chilled dough to ¼-inch thickness. Cut into desired shapes with cookie cutters.
Bake cookies for 10-12 minutes until the edges are just beginning to turn golden. The centers may look slightly underdone.
Allow cookies to cool on the baking sheet for 5 minutes before transferring to a wire rack to cool completely.
For the optional icing: Whisk together powdered sugar, 3 tablespoons of milk, and vanilla extract. Add more milk as needed to reach desired consistency. Divide and add food coloring if desired. Decorate cooled cookies and allow icing to set completely before stacking or storing.