The TRS-80 series is Z80 based, and Z80 uses, like all 8080 offspring (*1,3) a separate address space for I/O. It allows easy decoding for I/O.
Thus memory address 0000h is different from I/O address 00h.
On logical (program) level, access to either address space is selected by the instructions used. Memory instructions always access memory address space ...
ROM BASIC does not support any handling of floppies at all, but System ROM allows boot thru it's function table. Of course one could handle the disk controller 'manually' from BASIC - which is what the example does.
(All following values are according to TRS‑80 ROM Routines Documented)
The System ROM (3000h-37FFh) only supports booting a disk. ...