Дело в том что у вас проверка email выполняется только в том случае если не выполняется условие по имени:
if ($('#name').val().length >= 3) {
$(this).find('#name').css("border", "1px solid rgb(169, 169, 169)");
} else if ($('#email').val().length > 10 && $('#email').val().search(pattern) == 0) {
$(this).find('#email').css("border", "1px solid rgb(169, 169, 169)");
}
else if
надо без else, тогда оба условия будут проверяться независимо.
if ($('#name').val().length >= 3) {
$(this).find('#name').css("border", "1px solid rgb(169, 169, 169)");
}
if ($('#email').val().length > 10 && $('#email').val().search(pattern) == 0) {
$(this).find('#email').css("border", "1px solid rgb(169, 169, 169)");
}
и т.д.