I've ridden Amtrak extensively since it started in 1971.
YMMV is the best description of customer service.
Generally, in my experience, Amtrak onboard service follows a bell curve, a few really excellent, a few really terrible, most okay somewhete in between, some a bit worse than others, some a bit better. There appear to be regional/crew base variations as well.
I don't blame the unions for any of it. Ensuring consistency in service quality is clearly a management responsibility. Even with union workforce, there are mechanisms to enforce things and contract language can be negotiated. This is a management responsibility that Amtrak has consistently abdicated over the years. Otherwise, service would be more consistent and good, and the bell curve would be shifted higher, so the lower end is more at "okay" than today's awful/absent.