If carbon dioxide is non polar, why does it react with water?
I can only repeat myself here: Polarity is an ill-defined concept that has a nice potential for confusion.
In most cases, when specifying a molecule as polar, one is colloquially referring to the presence of a dipole moment, i.e. one actually categorises the molecule as dipolar. As described by ron in &quot;Why is carbon dioxide nonpolar?&quot;, $\ce{CO2}$ has no dipole moment, it is therefore not dipolar, or colloquially it is not polar.
However, $\ce{CO2}$ has two very dipolar bonds, and a significant quadrupole moment. If one were to extend the nomenclature, one would say the molecule is quadrupolar. However, this may lead to complications down the line.
On the other hand, as I have written in the linked question, toluene is often considered an unpolar/non-polar solvent, which is not really true considering it has a small dipole moment.
There are a couple of things one can predict with the concept of polarity, and fortunately, the more complex the molecules become, the better the approximation becomes. It is small highly symmetric molecules, which break these approximations.
Related reading:

Some more extended reading by others and myself can be found in this question: What are dipole moments in a molecule supposed to act upon?

And to further the confusion: Is the triiodide ion polar?

Where to draw the line? What is practical and what not? Why is CO practically nonpolar? What is the dipole moment direction in the nitrosonium ion?