Go's "pseudo-assembly" is not a plus. Everyone ends up learning both the architecture's assembly and the mapping to Go's pseudo-assembly which isn't actually portable because each architecture has architecture-specific features.
The Go assembly language is no different from having macros, functions or anything else providing a higher level of abstraction to relieve the developer of thinking about every little nuance of the underlying language.
A low level IR requires less effort to implement a compiler backend.
In Go's case, it is what makes the reference compiler so easy to cross-compile.