Bueno amigo en verdad muchas gracias, ya pude solucionar el problema que tenia, era volver a tomar la tabla pagos, ya me funciono como queria, la consulta final me quedo de esta manera
Código PHP:
Ver original$sql ="SELECT
est.codest id,
est.cedest cedula,
est.pnomest pNombre,
est.snomest sNombre,
est.papeest pApellido,
est.sapeest sApellido,
padres.cedpadre,
padres.nompadre,
padres.apepadre,
pagos.becado,
pagos.montopago,
pagos.codnivel,
pagos.codseccion,
pagos.codturno,
pagos.codperiodo,
periodoescolar.periodo,
periodoescolar.mesesactivos,
periodoescolar.interesmora,
pagospormora.cantmora,
niveles.nivel,
grados.grado,
secciones.seccion,
turnos.turno,
pag.mesespag,
pag.totalpagad,
venc.mesesvenc,
venc.totalvenc
FROM
estudiantes est
LEFT JOIN
( SELECT
codest, COUNT(mespago) AS totalpagad,
CASE WHEN statuspago = 1 THEN GROUP_CONCAT(DISTINCT mespago SEPARATOR ', ') END mesespag
FROM pagos
WHERE statuspago = '1'
GROUP BY codest ) pag ON pag.codest = est.codest
LEFT JOIN
( SELECT
codest, COUNT(mespago) AS totalvenc,
CASE WHEN statuspago = 2 THEN GROUP_CONCAT(DISTINCT mespago SEPARATOR ', ') END mesesvenc
FROM pagos
WHERE statuspago = '2'
GROUP BY codest ) venc ON venc.codest = est.codest
INNER JOIN padres ON padres.cedpadre = est.cedpadre
INNER JOIN pagos ON est.codest = pagos.codest
INNER JOIN turnos ON turnos.codturno = pagos.codturno
INNER JOIN niveles ON niveles.codnivel = pagos.codnivel
INNER JOIN secciones ON secciones.codseccion = pagos.codseccion
INNER JOIN grados ON grados.codgrado = secciones.codgrado
INNER JOIN periodoescolar ON periodoescolar.codperiodo = pagos.codperiodo
LEFT JOIN pagospormora ON pagospormora.numcomprobante = pagos.numcomprobante
WHERE est.cedest = ? AND pagos.codperiodo = ? GROUP BY id";