Go is successful for similar reasons as Java.
- Backed by a well known Company with a good image (at the time).
- Made by well known experts at the top of their field.
- Most of the risky, complex and powerful stuff is in the runtime.
- The language surface is small, familiar, conservative and consists of mostly orthogonal features.
- Very straightforward to integrate libraries and a good standard library.
- Portability and deployment are primary concerns.
- Came out at just the right time.
- Evolves without breakage.
There are significant differences between those languages, for example the JVM is a much more dynamic runtime. But I think the conservative surface paired with powerful internals is what makes it so attractive for wide adoption. It is the "blue collar" language strategy.
Languages that have more unique value propositions, lean stronger on niche paradigms and give more power to the programmers are scarier from a mainstream business perspective. I think these kind of languages have a firm stand in their respective niches and will continue to grow steadily, but will stay specialized and at the edge, while mainstream languages slowly adopt features that have been proven to work in other ecosystems.
Go is a language that belongs to the mainstream category, like Java, C#, JavaScript, Python etc. They are "Worse is better" languages that trick you into adopting some good stuff unknowingly and they all have a laser focus on pragmatism and growth.