I think 18 is a fine age. 21 is too old, you'd have to wait too long. It definitely shouldn't be lowered, so generally I think it's ok the way it is now.
Over here it's legal for someone to drink from when they're 15/16 if they're drinking beer or wine in a restaurant with family, or something like that lol.
I've had quite the scuffle refusing sale of alcy to underage people! One night at work these lads were in but not all of them had ID and a couple of the guys they were with looked younger, so we didn't give them their beer and they went mad.
To me, alcohol isn't really that important.