But what are your opinions on crypto development on Go. Is it a good choice? Or is there something C can do that Go can't?
There are reasons C is used in blockchain development. First of al C is most robust language that works extremely reliable on every platform. When you want to create something that will handle value transfer should be as resilient to errors as it can get. Using flashy new tech that have unknown bugs and exceptions isn't best strategy. I mean it's okay if your web server lose packet or two, but mishandling transactions can result in very real losses for you or your customers.
Golang is fairly new language and Bitcoin was released way prior Go became a thing. Also Go was developed mainly to support extreme asynchronous loads and meant to be great scaling option for large centralized services that are under huge load. There was no practical purpose to translate C code of Bitcoin to Golang and since most of altcoins was at some point forked from Bitcoin (or from fork of Bitcoin) they inherited basic architecture even though some elements have evolved.
P.S. Blockchain development does not necessarily means development of actual blockchains. So programming stack involved in actual projects should be much wider than just C or Golang (think about frontend, databases, backend that talks to block-chain etc).