Thanks mapleleaves and cruisemom42 - very helpful! I wish NCL would provide this information on their website, but I understand why they don't (competes with their "[city] on your own" excursions).
The NCL phone reps I spoke to a few weeks ago told me that cruise passengers generally need to be on board 1.5 to 2 hours before the stated departure time at each port! What a waste of time that would have been if we cut our time at Rome / Florence short, only to be the first ones back on the ship. The NCL rep also said they weren't aware of shuttles taking passengers from the ports to the train stations - even noting that any shuttle service was provided by the port authorities, not by NCL. I believe that's the case in Civitavecchia, but the Livorno shuttles seem to be organized by NCL (considering the $25 can be charged to your room).
Fortunately, our busiest port days (Salerno, Civitavecchia, and Livorno) are all docked, so we will use the 30 minutes prior "all aboard" time as our guideline until we hear from NCL.
This is our first ever cruise, so we have very limited knowledge when it comes to Mediterranean cruises, NCL cruises, or cruising in general. At times I wish we had booked with a travel agent who could hold our hands a bit (we booked through Costco Travel), but I'm glad to have found this community to help us with our planning - wish I discovered this board sooner!