Because running software involves making copies of that software. This requires you to have permission from the copyright holder. The GPL provides you with that permission, without adding any further conditions if the copies are just for the purpose of running the software.
It is now well-accepted that copyright protects computer programs and other digital information, whether they are in readable source code form or are an executable program that is intended to be understood only by a computer. Copies are made whenever the program is transferred from floppy disk to hard disk or is read into the computer’s memory for execution, and those copies will infringe the copyright of the computer program if they are not permitted by the copyright owner or by copyright law.
1. Even if that's the current legal theory it's bullshit, and I can run code without having copies in ram if I need to.
2. 'if they are permitted by copyright law' Fair Use is part of copyright law, has that specific defense been challenged when it comes to software execution and caches in RAM?
I could run it directly out of a ramdisk, or maybe transfer it to an embedded processor that can run it directly off the flash chip without even a processor cache. There's a whole variety of ridiculous things I could do to avoid the ridiculous restriction.
In practice I would trust fair use and try to use such as a defense if sued.
Because that's the legal side of this. You can compile and run GPL software on your computer without agreeing to the licensing terms, but you may not do it. It is very unlikely that someone will check your HDs for offending uses, and besides, any use of GPLed software assumes an implicit acceptance of its license, so if such a check is happening, you would have to be there to say: "I have it but I am not agreeing to the terms". That sounds a bit silly doesn't it?
That's how the rules have been made, and not complying could be assimilated to piracy.
http://www.digital-law-online.info/lpdi1.0/treatise20.html
It is now well-accepted that copyright protects computer programs and other digital information, whether they are in readable source code form or are an executable program that is intended to be understood only by a computer. Copies are made whenever the program is transferred from floppy disk to hard disk or is read into the computer’s memory for execution, and those copies will infringe the copyright of the computer program if they are not permitted by the copyright owner or by copyright law.