Place room-temperature butter and granulated sugar in the bowl of your mixer with the paddle attachment and mix on low until smooth. The creamed butter should be fluffy and pale yellow in color. Make sure to scrape the bottom of the bowl.
Add the egg and mix on medium (4 on Kitchenaid mixer) in a stand mixer until fully incorporated. Scrape the bowl when necessary to make sure the egg incorporates.
Add the vanilla extract. Mix until just incorporated.
In a separate large bowl, whisk the flour, salt, baking powder, and spice together.
Add the flour mixture into the dough with a scoop (about ⅓ of total dry ingredients at a time) and mix until fully incorporated. Start mixer on low until flour starts to incorporate, then turn it up to medium. Scrape the bowl as needed to fully incorporate.
Add the milk once the dry ingredients are fully incorporated. Continue to mix on low until the dough becomes a solid mass.
Scrape out the mixer bowl and wrap up the sugar cookie dough in plastic wrap.
Once the dough is wrapped in plastic, Take a rolling pin and roll the dough into a flat square. ( This helps the dough chill faster and more evenly).
Place your dough in the fridge for about 20 minutes or until the dough is firm to the touch.
Once the dough has chilled, knead the dough slightly and roll it out with a large rolling pin on a lightly floured surface, about ¼ inch thick.
Use heart cookie cutters to cut out uniform heart shapes. Keep the rolled dough chilled if you are not cutting and baking right away. The dough will be more challenging to work with the warmer it is.
Place the cookies on a baking sheet lined with a piece of parchment paper. Put the cookie sheet back in the refrigerator for 10-15 minutes to chill again. This will help them avoid spreading.
Bake cookies at 350ºF for 10-14 minutes, the bake time is dependent on the size of the cookie. Cookies will be slightly golden brown on the edge, but look done in the center.
Place the baked cookies on a cooling rack to fully cool before dipping them in the icing.