Why are January and February the coldest months although 21 December is the shortest day?
Short answer: air, land and water take a while to cool down (or rise in temperature; we see the same thing happening with July and August being the warmest months on average – not June, while June 21st is the longest day). In December, the fall just ended, and everything is relatively warm.
Also, depending on how far North you go, the difference between day length in December, January and February isn't that much. See this graph from Wikipedia: