I've heard it's not a very interesting trip and did notice there is a night train between the two.
You can make it more interesting by stopping at Novi Sad, Osijek, etc.
Regarding the overnight train... well, it seems that this year it ran only for the winter holidays time and will be running during the summer season (late June-early September) + it will be only seating carriages with arrival to Zagreb at 4am
Would that be better than the 6+ hour long bus ride do you think? If I'm not really going to see much, than maybe the train would be a better option.
In most cases "by rail" option definitely wins when compared to bus alternative, however with overnight journey in seat and arrival at 4am...perhaps it's too much.
If I did get the night train, are they all going to be sleeper cars? Or will there also be just regular seats as well (since I could do that if needed).
Nope, listed in the scheme are three seating carriages (one is mixed 1-2 class) only
And what about advanced booking for the sleeper cars? Is this route in high demand that I would have to pre-purchase well in advance? Or would a day or two in advance be ok (since I'd be in Belgrade maybe 4 nights)?
Serbian Railways doesn't sell tickets to Croatia online, but it's not really necessary to buy those in advance. You hardly would have any problems buying tickets before departure, especially since it's seat only option