First of all, don't worry about the weather. It won't be freezing cold, you are as likely to have bright sunshine as rain and there will be days when you'll wander around in shirtsleeves. Going to Greece means flying. If 21 days, includes 2 days to get to Europe and back home, then a day to fly to Greece and 5 days there leaves you with less than 2 weeks in Italy. While it's quite easy to plan Venice/Florence/Rome in that time frame, adding the Amalfi Coast will mean cutting a lot, since it's a fairly long journey there.
Compared with the rest of your places, Milan is very "skippable." If you land early in the day, you can easily take the train or bus from the airport into Milan and take a high-speed train to Verona or Venice.
Verona has lots of interesting sights, but if you're jetlagged and short on sleep, I wouldn't recommend stopping for a 1-nighter, but rather go to Venice, the best place to easily enjoy and soak up the atmosphere without stress. 3 nights minimum.
From there, a fast train takes you to Florence. If you love Renaissance art and architecture, 3 days (4 nights) is the minimum here. If that's not a big thing for your group, you can see the highlights in a day. With Florence as a base you can day trip to other Tuscan towns by train or bus. The popular ones are Siena, Lucca and San Gimignano. So add days for that, if needed. An alternative is to stay in Siena for several nights and day trip to Florence (highlights) and other towns, or to stay in an agriturismo and explore by rental car. On a first visit, I wouldn't recommend driving, but people do it and manage well.
After that, Rome or the Amalfi Coast, depending on where you can fly home or to Greece. If Naples airport is an option, I'd say Rome then Amalfi Coast and out of Naples. Otherwise, go first to the AC, and end in Rome, as it's always best to end your trip near your departure airport.
Sorrento is an excellent base for the area. It is well connected by local train to Naples and Pompeii and by bus to the AC (Ravello, Positano). From Florence, fast train to Naples, then the local train to Sorrento. Plan at least 4 nights here - otherwise it isn't worth the time it takes to get there and back.
Rome needs a minimum of 3 full days (4 nights).