So Miami Beach is not that far from Port Miami. Most people cruising the next day will stay in a hotel in Downtown Miami or Brickell, or at least that is what I suggest.
For you, if you want a beach, which seems like a good idea with 2-days, then Miami Beach it is. The amount of hotels is endless and price ranges vary. The beaches are all public, so anything close to the beach provides access. There are larger hotels right direct access to the public beaches and pools.
The amount of hotels is large, and hard to suggest one without a price range. If you want to walk around and not rely on rideshare, stay on Collins Ave between 24th or lower.