Вам необходимо использовать подзапрос:
SELECT *
FROM (SELECT DNI, puntaje, @row := @row+1 as Puesto
FROM postulante, (SELECT @row := 0) r
WHERE idCa = 2
AND idPer = 1
ORDER BY puntaje DESC) sub
WHERE Puesto <= (SELECT vacantes
FROM carrera_abierta
WHERE idCa=2 AND idPer=1)
ORDER BY Puesto;