The status of zero has always been a source of philosophical dispute. There seems to have been an incremental process towards understanding it's importance & usefulness. Modern use seems to have been established by the time of Ptolemy's very influential work on astronomy, 130AD. The earliest notation for zero was in Ancient Egypt,1330BC. The Ancient Greeks generally object to treating zero as a number, slowing down mathematical developments. And Romans deeply objected to it's use in accounting, such that Roman numerals were still used in accounting in some places in the 1800s.
I go with this discussion of Indian Mathematics, that Jain and Buddhist philosophical ideas made a more receptive audience to treating zero as a number (and to contemplating infinities, an even more contentious area). 'Arabic' numerals which introduced zero to the West more widely, are from India.
As to why not earlier. Professional mathematics has arisen, for astronomy (ancient Britain, ancient Turkey), for constructing altars and temples (those previous two, and Hinduism and Judaism), for accounting (Egypt, Babylon, China, South America), and as part of a kind of 'philosophical theatre' (Ancient Greece). Probably a certain level of accounting is the basis for supporting a culture of maths, and religious and philosophical society the basis for expanding it beyond practical concerns.