Considérant en fait et en droit :
1.
Par arrêt du 12 avril 2021, la Cour de droit public du Tribunal cantonal de la République et canton de Neuchâtel (ci-après: le Tribunal cantonal) a rejeté le recours formé par A.A._, B.A._ et leurs deux enfants, ressortissants macédoniens, à l'encontre d'une décision du Département de l'économie et de l'action sociale de la République et canton de Neuchâtel du 1er décembre 2020 confirmant une décision du Service des migrations de la République et canton de Neuchâtel du 29 septembre 2020, refusant la reconsidération d'une décision de refus d'octroi d'autorisations de séjour.
Par arrêt du 4 juin 2021, le Tribunal fédéral a déclaré irrecevable le recours formé par A.A._ et B.A._ le 15 mai 2021 contre "la décision rendue par le Département de l'économie le conseil d'Etat le 12 avril 2021", considérant que les recourants avaient agi hors délai (arrêt 2C_411/2021).
2.
Par mémoire posté le 23 juillet 2021 intitulé "demande de révision", A.A._, B.A._ et C.A._ demandent, outre l'assistance judiciaire et l'effet suspensif, d'annuler l'arrêt du 12 avril 2021.
3.
Le Tribunal fédéral n'est pas compétent pour connaître des demandes de révision dirigées contre des décisions émanant des autorités cantonales. Seule la voie du recours en matière de droit public (<ref-law>) ou celle du recours constitutionnel subsidiaire (<ref-law>) est ouverte contre les décisions des autorités cantonales de dernière instance rendues dans des causes de droit public.
Or, il ressort des conclusions prises par les requérants que ceux-ci entendent demander la révision de l'arrêt du 12 avril 2021 qui a été rendu par le Tribunal cantonal de la République et canton de Neuchâtel. L'arrêt du Tribunal fédéral du 4 juin 2021 n'est ni mentionné ni joint au mémoire de recours.
La demande de révision de l'arrêt du 12 avril 2021 est par conséquent irrecevable (<ref-law>). Même considéré comme recours en matière de droit public ou recours constitutionnel subsidiaire, le mémoire serait irrecevable, le délai de recours au Tribunal fédéral étant largement échu (art. 100 al. 1; art. 117 LTF).
4.
Enfin, il convient de relever que la révision des arrêts du Tribunal fédéral ne peut être requise que pour l'un des motifs énoncés de manière exhaustive aux <ref-law> et dans les délais fixés à l'<ref-law> (arrêt 1F_20/2020 du 11 août 2020 consid. 2). Les exigences de motivation découlant de l'<ref-law> s'appliquent également aux demandes de révision. Il incombe ainsi à la partie requérante d'expliquer en quoi l'un des motifs de révision prévus par la LTF serait réalisé sous peine de voir sa demande déclarée irrecevable (arrêt 4F_3/2021 du 24 février 2021 consid. 1.1).
En l'occurrence, les requérants n'expliquent pas sur quel motif de révision au sens de la LTF reposerait leur requête. Ils n'expliquent pas davantage en quoi un éventuel motif de révision prévu par la LTF serait réalisé. Ne répondant nullement aux exigences de motivation posées à l'<ref-law>, la requête devrait être déclarée irrecevable même en tant que demande de révision de l'arrêt du Tribunal fédéral 2C_411/2021 du 4 juin 2021.
5.
La demande de révision de l'arrêt du Tribunal cantonal de la République et canton de Neuchâtel du 12 avril 2021 est manifestement irrecevable (<ref-law>) et doit être traitée selon la procédure simplifiée de l'<ref-law>, sans qu'il y ait lieu d'ordonner un échange d'écritures. Le dossier est transmis au Tribunal cantonal de la République et canton de Neuchâtel comme éventuel objet de sa compétence.
La requête étant d'emblée dénuée de chances de succès, la demande d'assistance judiciaire doit être rejetée (<ref-law>). La requête d'effet suspensif est sans objet. Les requérants qui succombent doivent supporter les frais judiciaires, solidairement entre eux (art. 66 al. 1 et 5 LTF). Il n'est pas alloué de dépens (art. 68 al. 1 et 3 LTF).


Par ces motifs, le Président prononce :
1.
La demande de révision est irrecevable. Le dossier est transmis au Tribunal cantonal de la République et canton de Neuchâtel, Cour de droit public, comme éventuel objet de sa compétence.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge des requérants, solidairement entre eux.
4.
Le présent arrêt est communiqué au représentant des requérants, au Service des migrations du canton de Neuchâtel, au Département de l'économie et de l'action sociale de la République et canton de Neuchâtel DEAS, au Tribunal cantonal de la République et canton de Neuchâtel, Cour de droit public, et au Secrétariat d'Etat aux migrations.
Lausanne, le 28 juillet 2021
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
Le Président : Seiler
La Greffière : Ivanov