Hola viktoria,
El problema es que cuando usas prepare para escapar los datos, automáticamente te pasa los datos como strings, y para que el nombre de la tabla sea dinámico debe de ir entre backticks, por lo que no puedes pasar la tabla por el prepare, lo único que puedes hacer es algo así:
Código PHP:
$stmt = $dbh->prepare("UPDATE `$table` SET status = :status WHERE login = :login");
Saludos.