Trust but verify. You wouldn't drive your car into a lake just because your satnav tells you to, would you?
As we also know from the aviation industry, controllers are human and therefore will make mistakes. A controller shouldn't issue a wrong order, but a driver also shouldn't accept an order they aren't certain about, and there should be technical systems backing both sides of that up.
It doesn't "fall" on the driver, but it doesn't "fall" solely on the controller either. It's a systemic issue, and many pieces have to fail for a disaster to happen.
A train is not a car. They accelerate and brake very slowly, you need kilometers to brake at high speed, it is impossible to check manually.
You can't verify, the rail has curves and other stuff that block sight.
Also stopping distance for trains is huge. This video for high speed trains says 5km (3mi) https://www.facebook.com/Renfe/videos/%EF%B8%8Fcu%C3%A1l-es-... That is probably at full speed, but IIUC the accident was at half speed so the distance should be like 1.2km (0.8mi).
The driver tried to verify by asking a confirmatory question from the controller. So clearly there are in fact ways to verify, even if we can not achieve 100% certainty.
The driver also could have refused the order to drive at normal speed, and instead follow the protocol which caps speed to 40km/h in situations like these.
> As we also know from the aviation industry
The aviation industry operates like the railway industry ~1920 (somewhat by necessity).
> You wouldn't drive your car into a lake just because your satnav tells you to, would you?
You are assuming a train driver is equivalent to a car driver. He's not, the analog would be more a repairmen that you always take with you on journeys.