That isn't EN406 Chopin, it is EN477 Metropol.
The reason for the long wait in Bohumin, as is common in Europe, is that the train gains and loses sections there, including the Chopin.
You are due at Budapest at 0829, sadly at Nyugati, rather than the grand old Keleti station.
Honestly some people sleep on trains and some people dont. You have heard above from those who don't.
You can't book until 60 days out, your section of the complicated train (by the time it gets to Budapest) is a single sleeper car and a single couchette car.
The short booking span (normal for Polish railways) and the lack of capacity are the biggest potential stumbling blocks.
Maximising time like this is why sleeper trains exist, so it is a good idea.
The train would have to be very heavily delayed, by 6 hours or more to miss the ship. Being a river cruise you should be able to join at the next port if the worst happened.
This morning the train is 12 minutes late, usually under 20 late. The worst delay I can see recently was 94 late on 19 April