FPGA's also have billions of transistors now, but adding more block memory means removing transistors from something else, such as LUT's, registers, DSP blocks etc.
As always it is a tradeoff, and given many designs don't need much block memory, or need so much memory that external memory is a better choice anyway.