It doesn't. It's just an arbitrary choice between using 'nil and '(). It turns out that using '() is easier when writing arc on top of mzscheme, but that pg decided to go with 'nil - why, who knows? Probably a holdover from the CL implementation, or it matches better with his way of thinking about these things.
In particular, it is completely possible to use () underneath as the list-terminator/false value and still have 'nil be arc-recognized "syntax" for (). See aw's nil-to-() hack, for example.