Many people I knew 20 years ago also did upgrades, and there were a bunch of reasons for that. First, my friends and me were computer nerds who loved tinkering with this stuff, and we were also poor. At the end of the day, that aspect was just a hobby. Second (and something I find much more interesting), the nature and benefits of upgrades was different. In the time when 2GB were the standard RAM size a d software evolved very quickly, an additional RAM stick could make all the difference. We observed something similar when the SSD revolution came. Things have changed quite a lot since then though. These days computers come with very large memory pools and very fast storage out of the box. Upgrades are simply much less meaningful.
Because we want more performance, more energy efficiency, reliability, and all that without exploding the costs. I mean, what would a 512-bit modular RAM with the same area and power footprint as what Apple ships today in the Mac series look like? Nobody is offering products like these because it’s not feasible. We even see supercomputers moving to soldered-on RAM because of the performance benefits and implementation improvements it brings.
You are quoting ancient history while ignoring the most recent one. Modern computing devices are not only minituarized, but integrate components such as mathematical coprocessors, caches, memory controllers, I/O, graphics, power management - all things that used to be separate modules at some point. replaceable memory was never even a topic with GPUs, simply because modularity is incompatible with performance requirements that these devices carry. These days users want to run large language models on their machines which require extreme data movement and data-local computing, how can you hope to achieve this kind of capability while insisting on old super-narrow modular interfaces? The newest generations of supercomputer chips either completely abandon replaceable RAM or start phasing it out gradually. The current plan appears to be equipping CPUs with a limited amount of very fast local RAM and handle everything else via IO bus.