The all onboard time will be at least 1/2 hour earlier than departure time if not a little more. I forget the exact time. So I would figure you would need to leave Florence by 3pm at the very latest...to be safe.
(And remember to bring the emergency numbers in case you need to contact the ship if running late.)
When we were there in June, we were on a ship sponsored excursion (by bus, but it doesn't really matter if you do it by car, frankly...imo) and were an hour late back to the ship (just made it) because of construction and repair work. FYI, there was no construction going to Florence...just the return.