It appears Windows 10 doesn't do a shutdown in the same sense as Windows 7 did. It does a kind of hybrid shutdown/hybernation to allow super-quick startup. As such, the user isn't really logged off, so VeraCrypt doesn't get alerted to the user's session ending, so doesn't dismount the drive.
I've resolved this issue by adding a task in Task Scheduler (taskschd.msc).
The task must be an umount command ("C:\Program Files\VeraCrypt\VeraCrypt.exe" /d /f /quit ).
And the trigger a registry event:
Event id: 1074
Using this configuration your veracrypt volumes are unmounted even with Fast Startup enabled.
PD: I've tried this solution only with file containers. I don't know if it works with system drives or partitions.