Do chemicals have an expiry date?
They do indeed. It could be for different reasons: 


A chemical might undergo chemical changes due to different storage conditions: it could react with other chemicals present in the air or in the environment. This could change its nature (reaction to create other compounds), properties and/or purity.
A chemical might undergo physical changes as well: the temperature and pressure vary, as well as other conditions like humidity, light, electromagnetic fields. This could change it as stated above.
Certain chemicals are simply unstable and decay or degradate over time to something else, without the need of externals input / changes. This could affect the chemical as stated above.
Certain chemical suffers transpiration losses.
Human factors, like contaminations, spillings, loose caps, etc.


However, it might be noticed that these reasons could be divided to produce two different dates: shelf life vs expiration date.