How can I add a log entry to watchdog every time form_set_error() is triggered on user_account_form_validate()?
To add a new validation handler to a form, you need to implement hook_form_alter(). In your case, I would use the following code, which adds an extra validation handler that is executed before the other ones added by the User module.

function mymodule_form_user_register_form_alter(&amp;$form, &amp;$form_state) {
  array_unshift($form['#validate'], 'mymodule_user_register_validate');
}

function mymodule_user_register_validate($form, &amp;$form_state) {
  $account = $form['#user'];

  if (isset($form_state['values']['name'])) {
    if ($error = user_validate_name($form_state['values']['name'])) {
      // This is intentionally empty.
    }
    elseif ((bool) db_select('users')-&gt;fields('users', array('uid'))-&gt;condition('uid', $account-&gt;uid, '&lt;&gt;')-&gt;condition('name', db_like($form_state['values']['name']), 'LIKE')-&gt;range(0, 1)-&gt;execute()-&gt;fetchField()) {
      // Log the error with watchdog().
    }
  }
}