The Steam client isn't actually aware of Steam though. It's exactly the same client used by people not on Steam and all patches come direct from SE. The only difference with the Steam version is the code you use to activate the game flags your account as coming from Steam, but game wise it's not even aware of Steam.

To add achievements they'd have to split the client (or at least the launcher) and have two distinct versions (a Steam aware one that has to be run within Steam and a non-Steam one that doesn't care) and they could do that, but they're probably not wanting the extra work each time they update it.