In runtime it says:
The GOMAXPROCS variable limits the number of operating system threads that
can execute user-level Go code simultaneously. There is no limit to the number of threads
that can be blocked in system calls on behalf of Go code; those do not count against
the GOMAXPROCS limit. This package's GOMAXPROCS function queries and changes
the limit.
So normally it does not make sense to increase it beyond available physical "HW threads" (I think this is what you meant with cpu) count (since blocked threads do not count towards this limit).
As long as "active thread accounting" is accurate in the OS, I dont see any reason to set it higher. I think it is easy to test >HWthreads effects with a concurrent cpu-intensive job.