Bem, parece que seu campo de nome não é único. Sua subconsulta corresponde a mais de uma linha, portanto, você precisa encontrar um id exclusivo para corresponder a outro que não seja o nome ou, se quiser apenas obter o primeiro resultado da subconsulta, faça o seguinte:
UPDATE TABLE1 SET ID = (SELECT TABLE2.ID FROM TABLE2, TABLE1
WHERE TABLE1.NAME=TABLE2.NAME LIMIT 1) WHERE TABLE1.ID IS NULL