I took a Viking River Cruise that went from Budapest to Bucharest (Passage to Eastern Europe).
Viking's dock was right under the Chain Bridge, next to Stephen Széchenyi Square (Széchenyi István tér). Our particular cruise itinerary included a night in Budapest, and Viking booked us all at the Sofitel right there on the square. There's a whole host of other hotels right in that immediate vicinity, as well (Four Seasons, Intercontinental, and many more). To be quite honest, though, with all the busy streets between the hotels and the actual dock you might be just as well off leaving yourself the option of a taxi to get to the dock itself rather than wheel your luggage over streets and down steps and across tram lines?
Double check to be sure your Viking itinerary doesn't also include a night or two on land, at a hotel pre-embarkation. Usually if you check out an itinerary and see the first and last locations listed 2 days in a row, it means your itinerary includes a night in those places and that's more likely to be in a hotel than on a docked boat at the start or end of your trip. So you might already have your hotel taken care of, or can book yourself at the same one if you don't feel like moving.