CT had computers set up so that they could NOT "run a program from the hard drive" - they had to copy a program from that to the CPU before the program could be run.
CPU space for the computer is the sum of the programs that can be run simultaneously.
Storage for the computer is where programs sleep while waiting to be copied to the CPU for use.
Programs usually took up more space in storage than in the CPU (files recording data from previous runs, other things that aren't needed to run the program, but which need to be preserved for later, data-sets the program uses one section at a time, etc).
Remember, CT is based on 1970s computer tech.
Although this is from the 1970s, most computers still run on the same basis, separating execution memory from storage memory, there is no need to bring in analogies with CDs or FDDs.
A majority of designs, from Wintel PCs to smartphones, still have volatile memory (RAM) for executing instructions, and non-volatile memory for storage, the latter can be magnetic disks, or more often some form of solid state design, SSDs, memory sticks, SD Cards, etc, it is still different from the memory found in RAM and to all intents is a "disk" even though it is not actually round, spinning or made of magnetic material. The important point is the volatility (does it get wiped when the power is cut).
For CT the volatile memory (RAM) is called "CPU" and the non-volatile is called "Storage". This probably stems from the days when CPU and RAM where one combination rather than separate components as they are in modern PCs. The confusion can lie in that a modern CPU does have it's own memory which is used for caching and multi-threading, but it is clear that CT CPU memory is referring to what we'd call RAM.
The principal still exists that programs run in volatile memory because it is faster performance. for most Windows and Mac based architecture the program is loaded into RAM and executed there, the interim storage the program needs is also kept in RAM, it only ever passes to non-volatile (saves) when absolutely necessary.
The exception to this are some designs like Palm, where the execution memory and storage are one and the same because the memory was all-in-one non-volatile, but modern smartphones are still using the RAM/Storage model.
It should be noted that programs are often zipped up on disk and then unzipped once loaded into memory, combined with the massive amounts of execution memory they require as most data is pre-loaded, so the only difference with CT is that CPU and Storage are not really one-to-one alike and a running program can easily occupy more RAM than disk space.
In cases where the memory (RAM) runs out, most operating systems will "swap" the memory to non-volatile storage, but it gets swapped back in again when it needs to be executed, there is never really a case when a program is "executed on disk" (even if the "disk" is solid state).