Para asegurarme el mismo formato de fecha cambié el campo fecha a Date y la fecha actual la hago asi:
$fechaactual = $year."-".$mes."-".$dia;
Tanto con el código último que he puesto, como con el tuyo, obtengo 1 solo resultado posterior a la fecha actual, cuando estoy viendo perfectamente en la base de datos que hay muchos más

Que extraño