Light is a quantum level effect. The worst thing that science ever did, was call these things particles. The Greeks proved a long time ago, that the smallest particle in existence is the atom, which is true. That is not because the Greeks didn't know light, or didn't understand there had to be a way to get smaller, but because they understood that below the level of an atom, the understanding of the phenomena of existence changes.
Sub atomic particles do not exist as such. You and I do exist, because we can persistently express that existence in a moment we call 'now'. Sub atomic particles don't have a 'now'. Not only don't they have a 'now', some don't really have a 'here' either. An electron is actually just a charge, which is more or less said to be 'located' wherever that charge is most likely to be found if anyone could ever find it. A similar thing goes for photons. First of all, they don't exist until you destroy them and secondly, they are not really all that local.
So how can light be a particle as well as a wave? Because that's the names we gave it. In truth it's neither the one nor the other. It's an effect. It's not a thingy, it's not a substance, it's something happening that just so happens to occur in integer values and it can travel at an insane speed we call the speed of light, which is located at the far end of going fast. Not the far end of getting there fast mind you, because that's a whole different matter. Subject,... sorry. Its a subject,... different subject. Its not matter.