Looks a bit complicated, but that should do the trick:
find / -depth -type d -name VT_GH -print | awk '{ print "mv -n -T \"" $0 "\" \"`dirname '"'"'" $0 "'"'"'`/VT GH\"" }' | bash
Let's break it into pieces. The first command:
find / -depth -type d -name VT_GH -print
outputs a list of pathnames of all folders called VT_GH on your system. The -depth parameter is important here, as it causes the paths to be listed in order from deepest ones. This will be important later when we rename them, because if we have a path like /some/dir/VT_GH/VT_GH, then the lower-level VT_GH must be renamed before the upper-level one, otherwise the path to the lower-level one will cease to exist.
The second command:
awk '{ print "mv -n -T \"" $0 "\" \"`dirname '"'"'" $0 "'"'"'`/VT GH\"" }'
transforms this list into a list of mv commands, where each command has the form:
mv -n -T "/a path/to/some/random dir/VT_GH" "`dirname '/a path/to/some/random dir/VT_GH'`/VT GH"
The first argument of each mv command is the path to source directory, enclosed in double quotes to protect from possible spaces in directory names (as in "a path" and "random dir").
The second argument consists of two parts. The first part is output of the dirname command called on the same path as above (this time the path is enclosed in single quotes, as we need the double quotes to quote the entire second argument). So for /a path/to/some/random dir/VT_GH the dirname command will output just /a path/to/some/random dir. Then we add /VT GH to it - the new name we want - and enclose everything in double quotes, again to protect from spaces.
The -n -T parameters to mv command tell it to not do anything if there is already folder called VT GH along with VT_GH in the same directory. In that case VT_GH will remain unchanged.
This list of mv commands is just provided as input to bash, which is a final part of this one-liner :)