É verdade que você não pode usar a mesma tabela da qual deseja excluir linhas em uma subseleção direta, mas com um pequeno truque - uma subseleção em uma subseleção como tabela derivada - você pode fazer isso:
DELETE FROM votes
WHERE id IN (
SELECT
t.id
FROM (
SELECT v.id, COUNT(c.comment) cnt
FROM votes v
LEFT JOIN comments c ON f.id = v.post_id
GROUP BY v.id
HAVING COUNT(c.comment) = 0
) t
);
Estou assumindo que as linhas sem comentários devem ser excluídas.