It's not better than VAC by any means. VAC can see modules inside the game process, all running threads, it has integrity routines to make sure certain memory regions aren't being detoured/edited, it can also see what processes have open handles to the game. You can't compare a server sided anti-cheat to a client-sided one.
GetClientName does not need a backend check, because you cannot have one. Unless you want overhead by contacting the Steam API and asking for the user's name, and not allowing them to change it inside your server. It seems bothersome to only show name changes after re-connection anyway.
The fact there are cheaters Cow's anti cheat can catch while VAC can't proves it's better. Also VAC takes a whole week to validate the bans.