Why must flash memory be written/erased in pages/blocks?
It's by definition. A flash memory that allows writing individual bits is called EEPROM.

Flash differs from EEPROM in that erasures are done in blocks, rather than individual bits. Because erasing is a relatively slow operation, and must be done before writing, performing the erase in a large block makes large write operations faster, by virtue of erasing a large number of bits in parallel.

Erasing in blocks also allows simplifications to the IC, reducing cost. Economies of scale further reduce cost of flash over EEPROM, as flash is used in great quantities these days for solid state disk drives, while EEPROM is used in much smaller quantities.