In the last couple of years I have travelled 6 or 7 times on Thai trains. A few times from Bangkok to Hua Hin and a few times up in Issan from Khon Kaen to Ban Phai. They seldom keep to schedule.
From Bangkok they depart on time but that's it. The 4 and a bit ride to Hua Hin usually takes nearer 5. The rural train comes when it wants.
You can buy your train tickets 60 days in advance from the State Railways of Thailand website. Just download and print it out. The ticket will have your seat number on it. I guess the overnighter will have the berth number on it as well.
The guard on a major route like yours up to Chiang Mai will speak a little English and in my experience will be pretty helpful and friendly. In fact most of the Thai Railway staff I have come into contact with have been pretty helpful and friendly.
The photos of Hua Lamphong station make it look bigger than it is. In reality it is just a big shed for waiting in with 12 or so platform out at 1 end. It is an end of the line station. There are no through trains. The incoming train sits at the platform until departure time so you can board at your leisure.
As you would imagine the station has various places for eating and shopping in and around it. There is a KFC inside the station building. There is even a Black Canyon coffee outlet on the station balcony.
The Hua Lamphong stop on the MRT line is actually a good 10 minutes underground walk from the railway station proper. Getting the MRT subway to where it connects to the BTS skytrain at Asoke is an easy option to get back to Nana. One downside is the MRT has security checks with metal detectors at Asoke and Hua Lamphong. I always breeze through but some people get a rudimentary bag search.
Like you say train travel is an adventure rather than the routine of flying. If I had more time I would use the Thai train more than I do.
Life is too short to drink cheap beer