You need to do a lot of low level programming to target the custom sound and graphics chips those machines had available.
Not to mention that with 512 KB, every byte counted.
I cannot speak much for the Atari ST, as I was on the Amiga side of the bench.
The operating system was originally coded in Assembly and BCPL, with later versions having some C code as well(mostly K&R still).
Assembly and special game programming languages like AMOS, were the main programming languages for game developers on Amiga.
C was just another business programming language like C#, Java, Ruby and many others are today.
Mostly used for standard desktop software, or for doing the UNIX university projects at home.
Young developers take C's ubiquity for granted nowadays, but there was a time, when it was just yet another programming language.
It was considered a high-level programming language.
High-level was already reserved for the likes of Lisp and Smalltalk.