If you can take more time, as it seems to say in your initial statement, go ahead and do it--because why not?? But, here's another vote that unless there's something you need/want to see/do in Milan or Sorrento, ditch them and give an extra night to a couple of your other locations. Then, put all your days in Rome together. If you're already in Florence, Siena is well worth visiting (or vice-versa, in my opinion) and is an easy train ride away.
For Greece, totally agree with JoLui--But, I would vote that you rent a car at the airport and drive directly to Nafplio (Mycenae really isn't a location to spend more than a day, consolidate those days into Nafplio or Athens). The bus or tours are fine--but it's so much better with a car, Greece is very driveable and it's not expensive--very few places you can't take or park a car. The freedom it gives you is just the best, you can add other stops at will, and there are so many cool places you can go just off the main roads that will make this trip very customizeable. For example, I would have been so disappointed to drive back from Nafplio to Athens and not get to take a quick exit and visit Ancient Corinth/AcroCorinth--it's right there! IF you wanted to go on from Nafplio to Olympia, it's only about 2.5 hours. Then, when you're done roadtripping, take your car back to the airport, and ride the train into the city--driving or attempting to park a rental car in Athens is an experience that most would rather miss. If you can budget more time, you could visit at least one Greek island, perhaps in the Saronic, as those are quite close to the mainland--and a quick (and beautiful) slow-ferry ride away. You'll get lots of great advice here, hopefully, you'll have an awesome trip!