Remember, the cruise companies are only going to do something if its profitable. They run shuttle buses from the airport to the port frequently because a traveller has purchased an air/cruise package. Contained within that price is the cost to pick up and drop off the passanger at the airport/cruise port. And in many port cities, the airport and cruise port are fairly close to each other, and thus the shuttle can make many runs back and forth.
Between Bayonne and NYC is another story. Congestion abounds entering and leaving NYC. Friday would be really stuff. Sundays aren't as bad, but there's always going to be some delays. Also, NYC is quite a large city with severe traffic problems in itself. It would be a substantal cost to each passanger to get them to the city. And since you are looking to do this without using a train/bus/subway, the shuttle would have to find its way to each and every hotel. Quite literally, this could be a several hours' process.
Could it be done? Sure. But like I said, a company is in business to make money. Until the cruise lines determine a way to make it profitable while keeping costs low enough that travelers would use the service, hiring a private company is better for all involved.