Preheat the oven to 350°F and line baking sheets with parchment paper.
In a large bowl, cream together butter and sugars until light and fluffy, scraping down the sides as needed.
Mix in the egg, molasses, and vanilla extract until smooth.
Whisk together the flour, baking soda, baking powder, and spices in a separate bowl.
Add the flour mixture to the wet mixture and mix until a dough forms, avoiding over-mixing.
Use a 1 1/2 tablespoon cookie scoop to form dough balls and place them on the prepared baking sheets.
Bake for 9 to 11 minutes or until edges are lightly golden.
Allow cookies to cool on the baking sheets briefly before transferring to a wire rack to cool completely.
For the frosting, beat cream cheese, powdered sugar, butter, cinnamon, and vanilla extract until smooth.
Add milk gradually to thin the frosting to a spreadable consistency.
Frost cooled cookies using an offset spatula and add sprinkles if desired while the frosting is still tacky.