Nil is a carefully chosen name in Go, and was a trade-off which was made. It’s not quite right to compare it to null in other languages.
I agree it is not as safe as a language like Rust, however it was the right trade-off to make in my opinion.
The main protection you have against nil pointers are nil receivers, and knowing when to use reference semantics vs value semantics.