can you try this:
using (SPWeb web = site.OpenWeb(SPContext.Current.Web.ID))
instead of:
using (SPWeb web = site.OpenWeb())
this will explain why your code is failing :)
another method is to use this:
http://sarangasl.blogspot.co.uk/2009/12/add-user-to-sharepoint-user-group.html
hope it helps :)