Why does an anion not only bind to a single cation?
In the vapour phase where NaCl can exist (obviously at high temperature) then the molecule is a diatomic, with a covalent bond, albeit with a lot of ionic character. 

In the crystal, to which I assume you refer, there is exactly one $\ce{Na^+}$ to each $\ce{Cl^-}$. You can see this if you look at the structure of the crystal, however to achieve this in the cubic crystal each ion has to be surrounded by six of the opposite charge as you correctly state. However, the charges are not 'used up' with one neighbour but shared equally between them, so a whole perfect crystal is electrically neutral. (If you want you can think of the charges as electric fields spreading out radially from each ion, they cancel each other out at some point between ions making a complicated shaped surface of zero potential). The bigger chloride ions form a simple cubic array with the sodium in the gaps. The crystal has this structure, as opposed to another (say face centred cubic), because this is the one than minimises the total energy, by keeping (large) chloride ions far enough away form one another so that their repulsion does not destroy the crystal. 

In aqueous solution the water, which is very polar, means that it is more energetically favourable to dissociate into ions and solvate them rather than keep NaCl as a diatomic molecule, i.e. form $\ce{Na^+(aq) + Cl^-(aq)}$ where each ion is surrounded by several water molecules.