There are lots of hotels on South Beach. Try to find a hotel located near 17ths street where the Outdoors Mall area is located. Plus, you can take a bus to the International Market Place. That would be the closest area to the cruiseport.
Do a search of hotels of South Beach. I have stayed in a South Beach hotel at a moderate rate.