All atoms have a certain electronegativity value associated with them that describes how much they pull a bonded pair of electrons towards themselves in a covalent bond. When a covalent bond is formed between two atoms through the sharing of electrons, the shared electrons are pulled towards the most electronegative atom. This creates a partial negative charge around that atom and a partial positive charge on the other atom, thus creating a polar molecule.
Since an iodine molecule is made of two identical atoms (iodine), the atoms have the same electronegativity values. This means that the electrons that make up the covalent bond are shared equally between both atoms, and no partial charge is created in the process. This makes I2 a non-polar molecule.Learn more about Atoms & Molecules