This is really just a general architecture-related/cross-compilation question, rather than an Ethereum-specific one.
Your 64-bit machines will attempt to build 64-bit binaries by default, so you need to tell them not to.
Without going into lots of detail here, have a look at the following Stack Overflow threads. (Note that these are Linux-only, so you'll need to poke around for Windows equivalents.)
For 32-bit Go compilation:
For 32-bit C compilation:
Having said all this, if you're building 32-bit binaries, which you plan to run on 32-bit machines, then it might be easier just to get access to those machines and build there...
Also note that 32-bit vanilla binaries are available from the official Downloads page, so if you're not making any code changes, it would be easier just to download the pre-built binaries. (I'll assume you are making code changes.)