Why don't the fuse connections in programmable ROM cause the whole matrix to be shorted together?
Fuse-programmable ROM is not a simple wired XY matrix, with fuses at each intersection. That wouldn't work, for the reasons you give.

Typically, transistors are used at each intersection, like this. 



Image from here, worth visiting if you're interested in other types of ROM.

Conceptually, something as simple as a diode in series with each fuse would serve to both allow reading, and selection of the appropriate fuse to blow. However, there's a lot of development and technology between the basic idea, and a commercial product. Interestingly, many fuse ROMS use 'anti-fuses'. In the right process, high voltage can punch through the dielectric layer of a capacitor and make it fail short more reliably and cheaply than high current can open a fuse.