I'll join the "too much" choir for all the reasons given. As a first-timer it'll take you a bit of time to get your bearings in each new location, and a lot of packing/unpacking and moving around eats time you could be spending having fun.
It looks like your 17 nights translates to 16 full days once you subtract a partial arrival day. I wouldn't do more than a maximum of 4 bases with that amount of time, and I'd probably drop the Amalfi and the CT in favor of Como + maybe your arrival night in Milan. The Amalfi is your outlier and will involve backtracking if you are ending your trip in Rome so save it for a future trip. I'll agree with some of the previous posters that Rome and Florence both deserve at least 4 nights. Florence is also an excellent base for day trips to Siena and Lucca.
So just as option #1, you could look at Milan (1 night/arrival)> Varenna (3 nights)> Venice (4 nights, 1 day trip)> Florence (5 nights, 2 day trips)> Rome (4 nights).
Option #2: exchange Varenna/Como for the CT (Milan> Venice> Florence> CT>Rome).
I am assuming that you have 17 nights on the ground in Italy, and your overnight flight isn't part of the math? If you only have 16 nights on the ground, then shave a night from Varenna/CT, Florence or Venice.
Editing to add: I know that 1 night in Milan = 5 locations but I'm calling it a jet-lag recovery night before having to head off to the bulk of your trip. Get in, drop the bags, freshen up, go look at the Duomo, have dinner and crash.