A "flat" address space means that the virtualized 32-bit space used for each program is independently and directly accessible in consecutive offsets starting at byte 0 all the way through xFFFFFFFF.
Contrast this with what are typically termed "segmented" address spaces where an address is composed of a segment number or descriptor, and then a smaller number of bits as an offset into that segment/descriptor.
The memory management system performs the sleight of hand to translate a 32-bit address reference into a specific location within the actual 52-bit address space provided by the underlying architecture.