Faits : A. A._, ressortissant marocain né en 1971, s'est marié avec une ressortissante suisse en 1997 et a obtenu une autorisation de séjour au titre du regroupement familial. Le couple a divorcé en 2003. A la suite de ce divorce, le Service des migrations de la République et canton de Neuchâtel (ci-après: le Service des migrations) a refusé de prolonger l'autorisation de séjour de l'intéressé. Le 14 décembre 2007, A._ a épousé une ressortissante française et obtenu une autorisation de séjour UE/AELE. Le couple a eu un fils, né en 2011, en faveur duquel une curatelle, ainsi qu'un placement en institution à raison de deux nuits par semaine ont été ordonnés. Les époux se sont séparés et le divorce a été prononcé en décembre 2016. La garde a été attribuée à la mère. A._ présente une dette d'aide sociale de près de 300'000 fr., ainsi que des poursuites pour environ 17'000 fr. et des actes de défaut de biens pour 42'000 fr. B. Par décision du 21 septembre 2017, le Service des migrations a refusé de prolonger l'autorisation de séjour de A._. Celui-ci a contesté ce prononcé auprès du Département de l'économie et de l'action sociale de la République et canton de Neuchâtel (ci-après: le Département) qui, par décision du 16 décembre 2019, a rejeté le recours. A._ a alors saisi la Cour de droit public du Tribunal cantonal du canton de Neuchâtel (ci-après: le Tribunal cantonal). Par arrêt du 18 mai 2020, le Tribunal cantonal a rejeté le recours. C. Agissant par la voie du recours en matière de droit public, A._ demande au Tribunal fédéral, sous suite de frais et dépens, outre l'assistance judiciaire et l'effet suspensif, d'annuler l'arrêt du Tribunal cantonal du 18 mai 2020 et d'approuver la prolongation ( recte : de prolonger) son autorisation de séjour UE/AELE; subsidiairement de renvoyer la cause à l'autorité précédente pour nouvelle décision dans le sens des considérants. Par ordonnance du 23 juin 2020, le Président de la IIe Cour de droit public du Tribunal fédéral a admis la requête d'effet suspensif. Le Tribunal cantonal, le Département et le Service des migrations concluent tous trois au rejet du recours. Le Secrétariat d'Etat aux migrations renonce à se déterminer.