The "seamless binary upgrade" part is intriguing (unless it's just a reference to the fact that binaries are self-contained (which is indeed wonderful)).
I have a feeling they just change symlinks between self-contained binaries. Easy to upgrade or revert binaries.
We use a supervising process [1] that has bound the sockets and the pass in the file descriptors to Go process. When the new process is ready to take connections it sense a signal to the original process to shut down.