add "requires=[]" on the unique field to disable the vaidation, if you need the validate_and_update for any of the other fields. The database itself should validate it for you (you'll get an sql error, rather than a web2py error).
In your first case, just dropping the "name='') from the update would work. The 2nd case is much more intricate, and would require a lot of logic in web2py to properly validate it -- which the underlying database should already have (pgsql has, mysq has for inno tables, most databases have, though sqlite doesn't and mysql myisam tables don't either).

