Could Macs in 1997 really only run one program at once?
I vividly remember running multiple programs at once in Windows 3.1.
Well, yes and no.
To truly run several programs at once, you need parallel execution, which requires a multi-core processor or more than one processor. In 1997, the processors supported by Mac OS (and Windows 3.1) were single-core, so they could indeed only run one program at once. So no.
But both Mac OS and Windows 3.1 used a trick called multitasking to share the processor time among programs in a way that gave the user the illusion that they were running simultaneously. So yes.
Unfortunately, it was a primitive kind of multitasking, called cooperative multitasking: programs had to wait until the program currently running would voluntarily release its control of the processor, in the same way you have to wait for someone to leave a packed restaurant to get a table.
Moreover, with cooperative multitasking, if the program that was running crashed, the OS would usually crash too, as it wouldn't have any means to get control back of the processor.
BeOS (and Windows 95) changed that: they switched to preemptive multitasking, in which the OS would run a scheduler and share the processor resources among programs, giving them a certain amount of processor time to run. When the time was up, another program would get a time slice to run. That is similar to playing a variant of chess that constrains the amount of time per move: you only have that much time to make your move.
All modern server and desktop operating systems use preemptive multitasking. Apple introduced preemptive multitasking in 1997/1998 with Rhapsody (the next-gen OS that would eventually evolve into Mac OS X), and made it available to their main customer base in 2001 with Mac OS X 10.0 (Cheetah).