Faits :
A.
A.a. Le 23 décembre 2013, la Direction générale des finances publiques françaises (ci-après: l'autorité requérante) a adressé à l'Administration fédérale des contributions (ci-après: l'Administration fédérale) une demande d'assistance administrative concernant des contribuables figurant dans des listes annexées, en lien avec l'impôt sur le revenu et l'impôt sur les bénéfices des années 2010 et 2011, ainsi qu'avec l'impôt sur la fortune des années 2010, 2011 et 2012. L'autorité requérante y exposait que les contribuables visés faisaient l'objet d'un contrôle fiscal ouvert sur la base d'informations que lui avaient transmises les autorités judiciaires françaises. Il en ressortait qu'ils avaient été en relation d'affaires avec la banque C._ et que des transferts d'argent avaient été effectués sur des comptes bancaires ouverts en Suisse et non déclarés en France. Or, les résidents fiscaux français avaient l'obligation de déclarer les comptes bancaires ouverts à l'étranger, ceux sur lesquels ils détenaient une procuration, ainsi que les revenus de source française ou étrangère et le patrimoine situé en France et à l'étranger; quant aux non-résidents, ils étaient tenus de déclarer les revenus de source française.
L'autorité requérante souhaitait dès lors obtenir des renseignements au sujet des comptes bancaires ouverts auprès de la banque C._ en Suisse (ci-après: la Banque), dont les contribuables mentionnés dans ces listes étaient directement ou indirectement titulaires, quelles que soient les structures interposées, ou ayants droit économiques, ainsi que ceux pour lesquels ils disposaient d'une procuration (à savoir les formulaires A, les relevés de fortune et les relevés de compte faisant apparaître tous les mouvements). S'agissant des personnes non-résidentes fiscales en France au cours des périodes visées, la communication des informations bancaires pouvait être limitée aux seuls flux de source française.
A.b. A._ fait partie des personnes visées par la demande d'assistance administrative du 23 décembre 2013.
Déférant à deux ordonnances de production successives de l'Administration fédérale, la Banque a transmis les renseignements requis les 5 février et 18 mars 2014. Il en ressortait que A._ était au bénéfice d'une procuration sur un compte bancaire ouvert auprès de la Banque, dont B._ était titulaire et ayant-droit économique.
A._ et B._ ont fait savoir à l'Administration fédérale qu'ils s'opposaient à la transmission de toute information les concernant et ont demandé la récusation de tous les collaborateurs du Service d'échange d'informations en matière fiscale (ci-après: SEI). L'Administration fédérale a rejeté cette demande par décision incidente du 2 octobre 2014.
B.
B.a. Par décision finale du 10 octobre 2014, l'Administration fédérale a accordé l'assistance administrative à la France s'agissant de A._ et décidé de lui transmettre les renseignements suivants, précisant avoir effectué le caviardage des informations non couvertes par la demande ou portant sur des tiers non concernés:
[A._] a disposé d'une procuration sur la relation bancaire n° xxx.
Une copie du formulaire A relatif à la relation bancaire n° xxx.
Une copie des relevés de fortune ainsi que des relevés de compte s'agissant de la relation bancaire n° xxx pour la période du 1 er janvier 2010 au 1 er janvier 2012.
Le 3 novembre 2014, A._ a recouru auprès du Tribunal administratif fédéral contre la décision incidente du 2 octobre 2014 pour demander son annulation, ainsi que la récusation de tous les collaborateurs du SEI. Le 11 novembre 2014, A._ et B._ ont interjeté recours contre la décision finale du 10 octobre 2014 auprès de la même autorité en concluant, à titre principal, à son annulation et à la non-entrée en matière sur la demande d'assistance administrative; subsidiairement, à l'annulation de la décision finale du 10 octobre 2014 et au rejet de la demande d'assistance administrative.
Par décision incidente du 23 avril 2015, le Tribunal administratif fédéral a octroyé aux intéressés le droit de consulter certaines pièces du dossier parmi celles que l'Administration fédérale entendait garder confidentielles et confirmé que d'autres pièces ne pouvaient pas leur être communiquées. Le recours que A._ et B._ ont formé contre cette décision afin de pouvoir également consulter ces autres pièces a été déclaré irrecevable par le Tribunal fédéral (arrêt 2C_370/2015 du 7 mai 2015).
B.b. Dans un arrêt A-6843/2014 du 15 septembre 2015, le Tribunal administratif fédéral a conclu à l'irrecevabilité de la demande d'assistance administrative du 23 décembre 2013 dans une procédure qui concernait un autre contribuable figurant sur l'une des listes qui y étaient jointes.
Le 7 octobre 2015, l'Administration fédérale a demandé au Tribunal administratif fédéral de suspendre toutes les procédures pendantes fondées sur la demande d'assistance administrative du 23 décembre 2013 jusqu'à droit connu sur le recours qu'elle avait déposé auprès du Tribunal fédéral contre l'arrêt A-6843/2014.
B.c. Par arrêt du 28 octobre 2015, le Tribunal administratif a rejeté la requête de suspension de procédure (chiffre 1 du dispositif), rejeté le recours du 3 novembre 2014 et confirmé la décision incidente du 2 octobre 2014 de l'Administration fédérale (chiffre 2 du dispositif), admis le recours du 11 novembre 2014 et annulé la décision finale du 24 septembre (recte: 10 octobre) 2014 de l'Administration fédérale (chiffre 3 du dispositif) et dit qu'il n'est pas entré en matière sur la demande d'assistance administrative du 23 décembre 2013 dirigée à l'encontre de A._ (chiffre 4 du dispositif), sous suite de frais et dépens (cf. chiffres 5 et 6 du dispositif).
En substance, les juges précédents ont retenu que la violation du droit d'être entendu que les intéressés avaient fait valoir avait été guérie devant eux et que la demande de récusation de tous les fonctionnaires du SEI devait être rejetée. Se référant ensuite au raisonnement développé dans l'arrêt A-6843/2014 précité, ils ont considéré que la demande d'assistance administrative du 23 décembre 2013 était irrecevable, en vertu de l'art. 7 let. c de la loi fédérale sur l'assistance administrative internationale en matière fiscale [LAAF; RS 651.1], car elle était fondée sur des actes punissables au regard du droit suisse. Dans ces circonstances, les autres questions soulevées par A._ et B._ pour s'opposer à la transmission de renseignements à la France pouvaient rester ouvertes.
C.
A l'encontre de l'arrêt du 28 octobre 2015, l'Administration fédérale interjette un recours en matière de droit public au Tribunal fédéral, en concluant, principalement à l'admission du recours, à l'annulation des chiffres 3, 4, 5 et 6 de l'arrêt attaqué et à la confirmation de la décision finale du 10 octobre 2014 avec suite de frais et dépens; subsidiairement, à l'annulation des chiffres 3, 4, 5 et 6 de l'arrêt attaqué et au renvoi de la cause au Tribunal administratif fédéral pour nouvel examen dans le sens des considérants.
Le Tribunal administratif fédéral a renoncé à prendre position. A._ et B._ se sont déterminés sur le recours et conclu à son irrecevabilité, sous suite de dépens. L'Administration fédérale a déposé une réplique, sur laquelle les intimés se sont également déterminés.
Considérant en droit :
1.
1.1. L'arrêt attaqué est une décision finale (art. 90 LTF), rendue dans une cause de droit public (art. 82 let. a LTF) émanant du Tribunal administratif fédéral (art. 86 al. 1 let. a LTF). Seul un recours en matière de droit public est donc envisageable (cf. art. 113 LTF a contrario).
Contre les décisions en matière d'assistance administrative en matière fiscale, le recours en matière de droit public n'est recevable que lorsqu'une question juridique de principe se pose ou lorsqu'il s'agit pour d'autres motifs d'un cas particulièrement important au sens de l'art. 84 al. 2 LTF (cf. art. 83 let. h et 84a LTF; ATF 139 II 404 consid. 1.3 p. 410; arrêts 2C_1174/2014 du 24 septembre 2015 consid. 1.2 non publié in ATF 142 II 161 mais in RDAF 2016 II 28 et Pra 2016/79 p. 727; 2C_963/2014 du même jour consid. 1.3 non publié in ATF 141 II 436 mais traduit in RDAF 2016 II 374).
La recourante soutient que la présente cause soulève trois questions juridiques de principe. La première a trait au champ d'application de l'art. 7 let. c LAAF. L'Administration fédérale conteste que cette disposition ait vocation à s'appliquer, comme le considèrent les juges précédents, si l'acte punissable au sens de cette disposition n'a pas été commis en Suisse. Cette question, qui revêt les caractéristiques d'une question de principe, a été tranchée dans l'arrêt 2C_893/2015 du 16 février 2017 destiné à la publication. Comme elle était encore ouverte au moment du dépôt du présent recours, il se justifie toutefois d'entrer en matière en l'espèce (arrêt 2C_527/2015 du 3 juin 2016 consid. 1.2.2 et les références). Dans ces circonstances, il n'est pas nécessaire de déterminer si les autres questions soulevées par la recourante auraient également justifié une entrée en matière (cf. arrêts 2C_1174/2014 précité consid. 1.2 non publié; 2C_511/2013 du 27 août 2013 consid. 1.3 non publié in ATF 139 II 451).
Lorsqu'il entre en matière en raison de l'existence d'une question juridique de principe, le Tribunal fédéral examine l'affaire en application des art. 95 ss et 105 ss LTF dans son ensemble, sans se limiter aux seules questions juridiques de principe qu'elle pose (ATF 141 II 14 consid. 1.2.2.4 p. 22 s. et les références citées; arrêt 2C_289/2015 du 5 avril 2016 consid. 1.2.1 non publié in ATF 142 II 218 mais in RF 71/2016 p. 710).
1.2. Dans ses observations, les intimés contestent la recevabilité de la réplique, parce que l'Administration fédérale y invoquerait des moyens nouveaux qui ne répondraient pas aux arguments qu'elle avait développés dans sa réponse. La recourante tenterait par là de présenter une argumentation nouvelle et de compléter son recours hors délai.
En réplique, le recourant peut répondre aux arguments présentés dans la réponse au recours, notamment en complétant ses explications, mais ne peut pas formuler pour la première fois un grief qu'il aurait déjà pu présenter dans le délai de recours (ATF 135 I 19 consid. 2.2 p. 21; cf. aussi arrêts 1C_154/2015 du 22 décembre 2015 consid. 8; 2C_1104/2013 du 4 septembre 2014 consid. 4).
En l'espèce, la réplique contient des explications complémentaires concernant l'art. 7 let. c LAAF en réponse aux intimés, qui reprochent à l'Administration fédérale dans leur écriture une interprétation erronée de cette disposition invoquée dans le recours. L'Administration fédérale s'attache aussi à préciser sa lecture de l'arrêt attaqué en lien avec l'application du principe de confiance, également mise en cause dans la réponse. La réplique ne contient donc pas de nouveaux griefs et est partant pleinement recevable.
1.3. Le recours a au surplus été formé en temps utile (art. 100 al. 2 let. b LTF) et en la forme prescrite (art. 42 LTF) par l'Administration fédérale, qui a qualité pour recourir au sens de l'art. 89 al. 2 let. a LTF (cf. arrêt 2C_1174/2014 précité consid. 1.3 non publié in ATF 142 II 161 mais in RDAF 2016 II 28 et Pra 2016/79 p. 727). Il convient donc d'entrer en matière.
2.
S'agissant du droit applicable, l'échange de renseignements est en l'espèce réglé à l'art. 28 de la Convention du 9 septembre 1966 entre la Suisse et la France en vue d'éliminer les doubles impositions en matière d'impôts sur le revenu et sur la fortune et de prévenir la fraude et l'évasion fiscales (ci-après: CDI CH-FR; RS 0.672.934.91) dans sa version actuelle, qui résulte de l'art. 7 de l'Avenant à la Convention conclu le 27 août 2009 (RO 2010 5683; ci-après: l'Avenant), ainsi que par le chiffre XI du Protocole additionnel, introduit par l'art. 10 de l'Avenant.
La question de savoir si la demande d'assistance litigieuse doit être examinée à la lumière des dispositions du ch. XI du Protocole additionnel modifiées, en vigueur depuis le 30 mars 2016 (RO 2016 1195; cf. arrêt 2C_904/2015 du 8 décembre 2016 consid. 3.1) peut rester indécise, puisque ces modifications concernent des points qui n'ont pas de lien avec les aspects litigieux du cas d'espèce ni d'incidence sur le sort du recours (arrêt 2C_893/2015 précité consid. 4).
Au plan interne, la LAAF est applicable (cf. art. 24 LAAF; ATF 139 II 404 consid. 1.1 p. 408).
3.
Le premier point litigieux concerne la question de savoir si c'est à bon droit que les juges précédents ont retenu que la demande d'assistance administrative du 23 décembre 2013 devait être déclarée irrecevable en application de l'art. 7 let. c LAAF.
3.1. Selon cette disposition, il n'est pas entré en matière lorsque la demande viole le principe de la bonne foi, notamment lorsqu'elle se fonde sur des renseignements obtenus par des actes punissables au regard du droit suisse.
3.2. Dans son arrêt A-6843/2014 du 15 septembre 2015, le Tribunal administratif fédéral a conclu que l'autorité requérante s'était fondée sur des renseignements obtenus par des actes ayant constitué une violation du secret bancaire (art. 47 LB) et du secret commercial (art. 162 CP) pour former la demande d'assistance administrative du 23 décembre 2013, de sorte que celle-ci devait être déclarée irrecevable en application de l'art. 7 let. c LAAF. Appliquant cette jurisprudence à la présente cause, il en a déduit dans l'arrêt attaqué que la demande d'assistance administrative du 23 décembre 2013 était également irrecevable en tant qu'elle visait A._.
3.3. L'approche développée dans l'arrêt A-6843/2014 n'a pas été suivie par le Tribunal fédéral. Dans l'arrêt de principe 2C_893/2015 précité, destiné à la publication, la Cour de céans a retenu qu'il n'y avait pas lieu d'examiner si l'art. 7 let. c LAAF pouvait à lui seul fonder l'irrecevabilité de la demande d'assistance administrative du 23 décembre 2013, dès lors que cette disposition, à supposer qu'elle soit opposable à une demande d'assistance administrative, point qui pouvait rester ouvert, ne visait pas ce cas d'espèce. En effet, contrairement à ce que soutenait le Tribunal administratif fédéral, l'expression " actes punissables au regard du droit suisse " qui y figurait renvoyait à des actes effectivement punissables en Suisse (consid. 8.5 à 8.5.6). Or, la demande d'assistance administrative du 23 décembre 2013 - qui pouvait être qualifiée de demande d'assistance administrative collective en tant qu'elle visait un nombre important de personnes identifiées, cf. consid. 12.1 - ne reposait sur aucun acte susceptible de poursuite pénale en Suisse. Cette demande ne tombait donc pas dans le champ d'application de l'art. 7 let. c LAAF (consid. 8.6 à 8.6.4).
3.4. Le nom de A._ apparaissant également dans la demande d'assistance administrative du 23 décembre 2013, cette jurisprudence s'applique au cas d'espèce. Il s'ensuit que c'est à tort que les juges précédents ont déclaré irrecevable pour violation de l'art. 7 let. c LAAF la demande d'assistance administrative litigieuse.
4.
Comme le Tribunal administratif fédéral a jugé la demande d'assistance administrative du 23 décembre 2013 irrecevable, il n'a pas examiné si la communication de l'ensemble des renseignements telle que décidée par l'Administration fédérale remplissait toutes les autres conditions de l'assistance administrative, ni ne s'est prononcé sur tous les griefs soulevés par les intimés.
Il convient dès lors de renvoyer le dossier de la cause aux juges précédents pour nouvelle décision (art. 107 al. 2 LTF; cf. arrêt 2C_988/2015 du 29 mars 2017 consid. 5.2).
5.
Au vu de ce qui précède, le recours est admis. Les chiffres 3 à 6 du dispositif de l'arrêt attaqué sont annulés et la cause est renvoyée au Tribunal administratif fédéral pour nouvelle décision dans le sens des considérants. Le chiffre 1 du dispositif, qui refuse de donner suite à la demande de suspension de procédure, est confirmé, dans la mesure où la présente procédure ne l'a pas rendu sans objet. Le chiffre 2 du dispositif est confirmé, la question de la récusation n'étant plus remise en cause dans la présente procédure.
Compte tenu de l'issue du litige, les frais seront mis à la charge des intimés qui succombent, solidairement entre eux (art. 66 al. 1 et 5 LTF). Il n'est pas alloué de dépens (art. 68 al. 3 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis.
2.
L'arrêt attaqué est partiellement annulé en ce sens que les chiffres 3, 4, 5 et 6 du dispositif sont annulés et que la cause est renvoyée au Tribunal administratif fédéral pour nouvelle décision dans le sens des considérants. Le chiffre 1 du dispositif est confirmé dans la mesure où il n'est pas devenu sans objet. Le chiffre 2 du dispositif est confirmé.
3.
Les frais judiciaires, arrêtés à 5'000 fr., sont mis à la charge des intimés, solidairement entre eux.
4.
Le présent arrêt est communiqué à la recourante, au mandataire des intimés et au Tribunal administratif fédéral, Cour I.
Lausanne, le 29 mars 2017
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
Le Président : Seiler
La Greffière : Vuadens