L'utilisation de ~ suggère que vous utilisez Postgres. Si tel est le cas, les deux requêtes font des choses très différentes. Dans Postgres, vous n'incluez pas la table mise à jour dans le from clause.
Donc, je pense que vous voulez :
update fromemailaddress
set call = true
from email
where email.fromemailaddress = fromemailaddress.fromemailaddress and
LOWER(email.subject) ~ 'tester';
Votre version met à jour toutes les lignes dans fromemailaddress car il n'y a aucune condition reliant fromemailaddress dans la update clause et fea dans le from clause.
A noter également :la left join n'est pas nécessaire car le where la clause le transforme quand même en une jointure interne.