To make the dough, heat the milk in a medium saucepan until it is just simmering and bubbles being to form around the edge of the pan. Pour the milk into the bowl of an electric stand mixer fitted with the dough hook.
Add the butter, sugar and salt. Mix on low speed until the butter is melted. Let the mixture cool until warm but not hot. Add the yeast and eggs and mix until combined.
Gradually add the flour until the dough clears the sides of the bowl. The dough should be soft and slightly sticky. Knead for 2-3 minutes.
Transfer the dough to a large, lightly greased bowl. Cover with a clean kitchen towel or lightly greased plastic wrap and let rise until doubled, about one hour.
Roll the dough into a large rectangle, about 18×12 inches. Spread 1/2 cup softened butter over the dough.
Stir together the brown sugar and cinnamon and sprinkle over the dough. Pat it in slightly with the palms of your hands.
Starting with a long end, roll up the dough as tightly as possible, pinching the seam lightly to seal.
Using a serrated knife, cut the roll in half. Then cut each half in half again (forming four equal portions). Cut each of the four portions into three rolls – twelve cinnamon rolls total.
Place the rolls evenly spaced on a large, parchment-lined, rimmed baking sheet. If the ends have come free, carefully tuck them under the cinnamon roll. Cover and let rise until double.
Preheat the oven to 350 degrees F. Bake the cinnamon rolls for 18-22 minutes until light golden brown. Let the rolls cool for about 10 minutes before frosting.
For the frosting, in a large bowl, whip together the cream cheese and butter. Add the vanilla, maple syrup and salt and mix until combined.
Gradually add the powdered sugar (if you add it all at once, be prepared for a huge snowstorm in your kitchen) and mix until thick and creamy. Add cream or milk a tablespoon at a time until the frosting is smooth and spreadable to your liking. Spread the cinnamon rolls with frosting.