The attendants (sleeper hosts and team leaders) are entitled to 9 hours’ rest between shifts, while 12 hours is the minimum for train managers as well as drivers.
In answer to your question, there is no way that it would be legal for the London-based hosts from last night to go all the way to Fort William (arriving 15.44) and work the 19.50 back from Fort William. I don’t know what they did about hosts after the train left Edinburgh at 10:46 - that is anyone’s guess and I am amazed that they ran it all the way (I’d have thought they’d have detrained everyone at Edinburgh, which was already at a sociable time, and put them on a bus which would have got them to Fort William for lunchtime with a fair wind). That’s if any rail replacement buses were available at short notice, of course.
I believe the Fort William portion is driven by a Central Belt-based GBRf driver from Edinburgh to Helensburgh (possibly Millerhill/Polmadie?) then a Fort William driver (one of a pool who also works the Alumina tanks over the West Highland Line) from Helensburgh north. I think that these men would probably have been easier to source than hosts/train managers. The CS guards who can work the Fort William portion north of Edinburgh are based at either Edinburgh (north link) or Dalmuir.