There are maybe a few points left out here.
- RS-232 was first recommended in 1960
So way before there were low voltage devices. In fact, it was originally designed to work with electro-mechanical, not electronic devices, like TTY.
- RS-232 is a uses directed voltages
So it's not simply 0V and 12V but +12V and -12V. Quite useful to work with coils.
- It does not specify +/-12V
RS-232 does not specify +/-12V, but defines +/- 3..15V as operating range and forbids any voltages below 3V and above 25V
- It's a voltage based interface, so more is better
Unlike a current loop, where the burden of handling loss thru resistance is handled by the sender (within reason). A current supplied in a current based interface will always reach the receiver at the same level. Voltage supplied in a voltage based interface gets diminished by distance. This is simply as line length is directly proportional with voltage drop. The higher the supplied voltage is (within reason), the higher the chance the voltage at the receivers end is still above the minimum threshold.
- 12V is a convenient value within the 3..15V range
12V goes on the high side of what's allowed, leaving much room to drop over the line, while at the same time leaving some room for tolerances toward higher voltages. After all, making a good and stable supply in 1960 was a way higher effort than today.
Bottom line: It's a nice ballpark value serving multiple requirements.
The 'strong' reason to use 5V in later (and local) setup simply to save cost. Why adding the need for a 12V PSU when short distance, like to a printer, works quite fine at 5V as well? Even more so as modern circuitry can deliver a good high impedance, so cable losses aren't any more an issue