Is the lattice point in ZnO crystal structure occupied by the molecule ZnO or the ion O^2-/Zn^2+? I learnt that ZnO has a hexagonal crystal system. I was expecting that cations or anions would occupy the lattice points in hcp while voids would be occupied by anions or cations respectively. But while googling the ZnO structure, I found this structure below which was confusing because of my notion about lattice point occupied only by cation/anion while voids occupied by its countercharged part.

But after close inspection of this above structure, I thought maybe the lattice point is occupied by the molecule ZnO itself while voids are left unoccupied as opposed to the cation/anion occuping the lattice point and anion/cation occuping the voids. Because only then,this structure is possible. Am I right in thinking so?
You are falling in the rather common mistake of confusing the crystal structure with the lattice. The lattice is a mathematical object (it does not exist as a real object), whereas the crystal structure is the convolution of the lattice with a basis (an atom or a collection of atoms).
In some cases atoms are distributed exactly at the same positions of the lattice points; for example Cu has a face centered cubic structure where copper atoms occupy the same positions of the face centered cubic lattice. In this case Cu at 0,0,0 position is your basis.
In your case neither the Zn atoms, nor O atoms occupy lattice positions. Your basis is contituted of Zn at 1/3,2/3,0 plus O at 1/3,2/3,z; 'attaching' this basis to each lattice point (taking into account the correct distances of both Zn and O atoms from each lattice point), you obtain the final structure.
In any case, the picture that you posted does not represent the real hexagonal structure; rather, I would that is the trigonal polymorph.