The reason why have 510 EVs is due to programming. EVs are stored as two bytes of information (hence 510). To make it 512, they would have to rewrite the data structure of a Pokémon and add an additional byte for 2 whole points.
Two to the nineth is 512, and adding another bit would give us 1024 EVs to work with. Technically speaking, total EVs use two bytes, but in reality, anything up to 511 would only use nine bits. Because bytes are commonly used though, the remaining seven bits of the second byte would be shared to store other information. The way EVs work, though, the final tally would be accumulated across 48 bits, or six total bytes, with a byte allocated to each stat.
Counting in binary starts at zero though, and not one, so the pokémon could have no EVs, or a max of 511. They probably use 510 because it's an even number, so there's going to be a configuration that allows all of the EVs to be used, which wouldn't be true for 511 EVs.
But yes, to get that five hundred and twelfth EV would require another bit, which would both require a reformatting of the data storage, on top of giving us twice the total EV capacity, if not necessarily allowing us to go above the 255 mark in a single stat.