Just as with a digital watch, your clocks each rely upon a quartz crystal which has been cut by a laser so that it will vibrate at a specific frequency. They can be cut incredibly accurately so that, for example, my watch only gains about 2 seconds per year.
However many crystals are produced with far less accuracy (simply because it's far easier and cheaper to do so), with manufacturers seeming to err on the side that means clocks and watches gain time, rather than lose it. (Presumably because it's seen as better to be early for an event than late for one). For example, the crystal in the clock of my cheap microwave oven was clearly very poorly cut, as the clock gains several minutes every week.
https://en.wikipedia.org/wiki/Quartz_clock
So it's the use of cheap, low-quality crystals which is the cause of your problem. The solution is to switch to radio controlled clocks, which take their time from the National Physical Laboratory's atomic clock. That guarantees an accuracy of no more than 1 second error over a period of more than 15,000 years.
http://www.npl.co.uk/science-technology/time-frequency/products-and-services/time/msf-radio-time-signal
Such clocks used to be expensive but they can now be purchased for around the same price as conventional clocks. (The one on my desk cost me £1.75 in a charity shop!)
http://www.argos.co.uk/search/radio-controlled-clock/