I think yuo wil find that most, if not all, the major supermarkets have a sign saying 21. however, it further states, in very small print, usually on another notice near Customer Services, that "anyone who is fortunate enough to look under21 years of age may be asked for I.D when purchasing cigarettes, drink and certain other items".
As shopkeepers can and do get prosecuted for selling to under age people, be it for cigarettes or drink, these notices just reinforce the fact that a shopkeeper can deny service to anyone they want to.