Instead of the complicated trigger heck-meck, what about simple statements like
-- allow update of column Name (and only column Name) in table TableA to user X
GRANT UPDATE ON [dbo].[TableA] ([Name]) TO [X]
-- deny updating table TableA to a user Y:
DENY UPDATE ON [dbo].[TableA] TO [Y]