The danger of Hash collision in Schnorr NIZK
First, I do not think reversing the hash function will help you disclose skey as nothing in the Hash needs to be private. The Hash in Schnorr NIZK is a practical instantiation of the random oracle, not perfectly though. Here the random oracle is used to commit or sign V, so that you can not choose V based on c. Note that it is trivial to get V given y, c, g, r, and pass the verification $Vy^c = g^r$.

As for the danger of collisions, it may not be very relevant to the security proof. Hash functions are just how we implement random oracles in practice. I think a better way to look at this is as follows. If one can forge a proof, then c should be equal to the output of the random oracle with input (g, V, pkey, ...). This happens with small probability, as a random oracle always outputs a purely random value given a new input.