From your other post, I see that you were hoping to leave the ship in Naples, and return to the ship in Rome. I don't know what the laws are there, but if NCL says you can't do it, there must be a good reason. I'd listen to them.
I'm not sure about Italian immigration law, but some countries have different rules for cruise passengers, as opposed to someone who flew to the country. To come to a port for the day on a ship is fine, but staying overnight could be a violation of Italian law. Again, this is just a thought and not necessarily a fact.
Are you sure you aren't talking about two different things here? If a ship is docked overnight in a port and leaves the next day then they don't care if you didn't come back to the ship that night. As long as your there when they leave the next day. But it's a different story when a ship is only in port from 7AM to 7PM and people aren't back to the ship by 6:30PM. I can't imagine HAL saying it's ok for you to not show up and just catch up at the next port.
A cruise ship isn't a ferry to take you from point A to point B, and you just jump on and off whenever you please. There are laws and security issues involved.
Like everyone else, you have to abide by the rules. If you want to be an exception to the rules of the ship, I'd advise you to speak with the ship's Captain to see if arrangements can be made. Good luck...
The last time we were in Italy they held our passports at the hotel desk until we left in the morning. Does the cruise ship hold passports when sailing in Italian waters? Just asking.