Cream the Butter: Add the butter and sugar to a large bowl or stand mixer. Use a handheld mixer (or stand mixer) to cream the butter for 3 to 5 minutes on low speed, scraping the sides of the bowl with a rubber spatula as necessary. Add the milk, vanilla, and almond extract (if using) to the bowl and beat again until smooth, about 1 minute.
Dry Ingredients: Add the flour, cornstarch, baking powder, baking soda, and salt to the bowl (use 1/4 teaspoon for sweet cookies, 1/2 teaspoon for more salty-sweet). Beat on low speed until just combined. The dough should be thick and not sticky; if it looks too dry, add additional milk 1 tablespoon at a time.
Chill: Use a spatula to roughly divide the dough in half. Flatten each half into a flat disc over plastic wrap, then wrap tightly and refrigerate for at least 2 hours, up to 3 days. Chilling the dough is required for this recipe as it helps the flour to absorb extra moisture and prevents the cookies from spreading.
Baking Prep: Preheat the oven to 350F and line 2 to 4 baking sheets with a silicone baking mat or parchment paper.
Roll: Cover a cutting board or work surface with an extra silicone mat (optional, but prevents sticking) and a light dusting of flour. Remove one of the discs from the fridge (Note: if you have refrigerated the dough for more than 3 hours, let it sit on the counter for 30 minutes to soften). Place the dough on the work surface, sprinkle lightly with flour, then knead the dough a few times to soften it up. Dust your rolling pin with flour, then roll out the dough until it’s about 1/2" thick. Sprinkle the dough and/or rolling pin with extra flour as needed to prevent sticking. (Note: You can use your fingers to pinch the dough together when necessary. Any “cracks” that appear in the dough will show in the final baked cookies, so I recommend rolling until the dough is smooth)
Cut the Cookies: Use cookie cutters to cut out your cookies; I find it works best to press down firmly, then wiggle the cutter a bit to fully separate the edges. Remove excess dough, then use a bench scraper or spatula to transfer the cookies to the prepared baking sheet, spacing the cookies at least 1/2" apart from each other. You may need to use multiple baking sheets for each disc of cookie dough.
Bake: Bake in the middle rack of the oven for 8 minutes for soft cookies that are 4” or less. If your cookies are larger, bake for 10 to 11 minutes; the cookies should be just barely golden on the bottom edge. If you prefer crunchy cookies, bake the cookies for a few minutes extra. Remove from the oven and let the cookies rest on the baking sheet for 10 minutes before transferring to a wire rack to let cool completely.
Repeat: Knead the dough scraps back together, and repeat steps 7-9 with both the scraps and the second disc of dough until all cookies have been baked.
Make the Frosting: Sift the powdered sugar into a large bowl and add the corn syrup, vanilla, and 2 tablespoons of water. Whisk well until smooth; if the frosting is too thick add additional water in 1 tablespoon increments. Stir in the gel food coloring now, or divide the frosting into multiple bowls if you’d like to make multiple colors.
Decorate: Transfer the frosting into piping bags (I like to use these re-usable ones) once the cookies have cooled completely. Decorate the cookies with frosting and sprinkles as desired.
Store: Let the frosting set and harden on the cookies for at least 3 hours before storing in an airtight container for up to 5 days.