I mean typically yes, I keep binaries around for whatever system I'm targeting. 32+64bit binaries for linux and windows (4 total) will cover about 99% of any machines you're likely to come across. I think you've taken more of an issue with this than is necessary, seeing as if I can run linpeas or linenum I am probably not going to have an issue running a static binary, and it's really a matter of personal choice.
Unlike most of compiled languages Go have no-effort cross-compile for different architecture. All you need is to specify GOARCH. So what's problem with compiling different binaries?
There's no way to achieve this...even writing things in POSIX is going to be incompatible on some systems. Having a different binary for different systems is necessary. Even writing things in an interpreted language e.g. Python still requires at least Python binaries on all your systems, and that's ignoring dependencies. It doesn't get much more convenient than Golang's cross compilation.
People here are viewing this with their developer hat on, download a static binary? Sure what’s the issue?
For people who work in security will know that you encounter systems with all sorts of architectures and operating systems.
As a pentester do you want to keep 14 different binaries for each security tool you have so that you are prepared for all platforms and architectures?
As a CTF player do you want to afford the time to compile this for whatever platform you encounter?
That’s why tools like linenum.sh and linpeas.sh are written in bash.
They run on anything.