Faits :
A.
C._ est propriétaire du bien-fonds n° 3'337, situé au lieu dit "Vouarda", à proximité du village de Vercorin, sur le territoire de la commune de Chalais. D'aspect pentu, ce terrain, d'une surface de 1'033 m2, est classé en "Zone résidentielle petits chalets 0,25", selon le plan d'affectation et des zones (PAZ) et l'art. 48 du règlement communal des constructions et des zones de la commune de Chalais (ci-après: RCCZ ou règlement communal), adoptés par l'assemblée primaire le 15 juin 1998 et homologués par le Conseil d'Etat le 18 août 1999. Ce bien-fonds jouxte, au nord, le terrain n° 3'346, copropriété de B.A._ et A.A._.
Le 8 avril 2015, C._ et D._ ont requis l'autorisation de construire un chalet d'habitation comprenant deux logements, avec installation d'une pompe à chaleur air/eau (ci-après: PAC) de marque et modèle "Walter Meier LIN 24TES" sur la parcelle n° 3337. Par décision du 25 août 2015, le conseil communal de Chalais a délivré le permis de bâtir requis (dossier n° 20/2015) et, par lettre du 15 septembre 2015, il a informé les époux A._ du rejet de leur l'opposition à ce projet. Par décision du 19 octobre 2016, le Conseil d'Etat valaisan a admis le recours des époux A._ et a annulé l'autorisation de construire. Le 6 juillet 2017, la Cour de droit public du Tribunal cantonal du Valais a déclaré irrecevable le recours formé par les époux A._ contre cette décision du 19 octobre 2016 dès lors qu'ils avaient obtenu pleine satisfaction devant le Conseil d'Etat.
B.
Le 21 décembre 2016, C._ et D._ ont déposé une nouvelle demande d'autorisation de construire, laquelle a été publiée au Bulletin officiel du canton du Valais du 6 janvier 2017 et à laquelle les époux A._ ont fait opposition. Le projet était identique à celui déposé le 8 mai 2015, sauf en ce qui concernait la façade ouest, où un mur et une porte de garage avaient été ajoutés à l'emplacement du couvert à voitures, côté façade ouest.
Le 18 avril 2017, le Conseil communal de Chalais a délivré le permis de construire requis pour le chalet de deux logements et a levé l'opposition des époux A._ (dossier n° 108/2016). Ces derniers ont recouru en vain contre cette autorisation auprès du Conseil d'Etat qui a statué le 11 octobre 2017. Par arrêt du 12 octobre 2018, la Cour de droit public du Tribunal cantonal du Valais a partiellement admis le recours des époux A._, annulé la décision du Conseil d'Etat du 11 octobre 2017 et lui a renvoyé la cause pour nouvelle décision. Le Conseil d'Etat devait notamment veiller à ce que le dossier soit complété en lien avec la PAC; il convenait de se fonder sur un nouveau préavis du Service de l'environnement du Département cantonal de la mobilité, du territoire et de l'environnement (ci-après: SEN) quant à la conformité de cet appareil aux dispositions légales applicables en matière de protection contre le bruit. Ce renvoi devait en outre permettre de s'assurer que la pente des toitures respectait le règlement communal.
Par arrêt du 19 décembre 2018 (1C_634/2018), le Tribunal fédéral a déclaré irrecevable le recours formé par les époux A._ contre cet arrêt cantonal de renvoi du 12 octobre 2018, en application de l'<ref-law>.
C.
Le 19 mars 2019, le Service des affaires intérieures et communales du Département cantonal de la sécurité, des institutions et du sport (ci-après: SAIC) a invité la constructrice à compléter le dossier, requérant notamment les indications relatives aux caractéristiques de la PAC ainsi qu'à l'emplacement et aux dimensions des sauts-de-loup prévus par les prises et rejet d'air et quant aux mesures préventives. Le SAIC a aussi demandé le dépôt de plans corrigés permettant de constater la compatibilité entre la pente maximale du toit et la hauteur des pannes faîtières et sablières.
Le 7 mai 2019, C._ a transmis au SAIC un formulaire d'attestation du respect des exigences de protection contre le bruit pour la PAC du 7 novembre 2018, ainsi qu'un nouvel exemplaire du plan intitulé "niveau route-accès", lequel illustrait le futur emplacement de cet appareil. C._ a également produit un plan intitulé "Coupe AA" du 6 novembre 2018 ainsi que deux plans de situation.
Le 21 août 2019, le SEN a préavisé positivement la PAC prévue, à diverses conditions.
Le 6 novembre 2019, le Conseil d'Etat a rejeté le recours des époux A._. Par arrêt du 20 juillet 2020, le Tribunal cantonal a lui aussi rejeté le recours formé par lesdits époux.
D.
B.A._ et A.A._ ont formé un recours en matière de droit public auprès du Tribunal fédé ral par lequel ils demandent, sous suite de frais et dépens, l'annulation de l'arrêt du Tribunal cantonal du 20 juillet 2020 et de l'autorisation de construire délivré le 18 avril 2017. Ils ont également requis l'octroi de l'effet suspensif.
Invités à se déterminer, l'intimée et le Conseil d'Etat concluent au rejet du recours. Le Tribunal cantonal renonce à se déterminer. Les recourants répliquent et l'intimée duplique.
Par ordonnance présidentielle du 6 octobre 2020, l'effet suspensif a été admis.

Considérant en droit :
1.
Dirigé contre une décision finale (<ref-law>) prise en dernière instance cantonale (art. 86 al. 1 let. d LTF) dans le domaine du droit public des constructions (<ref-law>), le recours en matière de droit public est en principe recevable, aucune des exceptions prévues à l'<ref-law> n'étant réalisée. Les recourants ont pris part à la procédure de recours devant le Tribunal cantonal. En tant que propriétaires voisins du projet litigieux, ils sont particulièrement touchés par l'arrêt attaqué et peuvent ainsi se prévaloir d'un intérêt digne de protection à son annulation (cf. <ref-ruling> consid. 2b; plus récemment arrêt 1C_46/2017 du 21 novembre 2018 consid. 1.1 non publié aux <ref-ruling>). Ils ont donc en principe qualité pour agir au sens de l'<ref-law>. Les autres conditions de recevabilité du recours en matière de droit public sont réunies, si bien qu'il y a lieu d'entrer en matière.
2.
Dans la partie de leur écriture consacrée aux motifs du recours, les recourants se réfèrent aux "Principes relatifs à l'arbitraire dans l'établissement des faits" et développent toute une série de critiques. En réalité, ces critiques - qui seront examinées ci-dessous - relèvent essentiellement de l'application du droit communal ou cantonal par les instances précédentes, et non pas de l'établissement des faits.
2.1.
2.1.1. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>), sous réserve des cas prévus à l'<ref-law> (<ref-ruling> consid. 4.4.3). La partie recourante ne peut critiquer les constatations de fait ressortant de la décision attaquée que si celles-ci ont été effectuées en violation du droit au sens de l'<ref-law> ou de manière manifestement inexacte, c'est-à-dire arbitraire, et si la correction du vice est susceptible d'influer sur le sort de la cause (<ref-law>; <ref-ruling> consid. 2; <ref-ruling> consid. 6). Conformément à l'<ref-law>, la partie recourante doit expliquer de manière circonstanciée en quoi ces conditions seraient réalisées. A défaut, il n'est pas possible de tenir compte d'un état de fait qui diverge de celui qui est contenu dans l'acte attaqué (<ref-ruling> consid. 2; <ref-ruling> consid. 5.1).
2.1.2. Le Tribunal fédéral revoit librement l'interprétation et l'application du droit fédéral et du droit constitutionnel cantonal (<ref-law>). Il examine en revanche sous l'angle restreint de l'arbitraire l'interprétation et l'application des autres règles du droit cantonal ou communal (<ref-ruling> consid. 5.4; <ref-ruling> consid. 2.2). Une décision est arbitraire lorsqu'elle viole gravement une norme ou un principe juridique clair et indiscuté, ou lorsqu'elle contredit d'une manière choquante le sentiment de la justice et de l'équité. Le Tribunal fédéral n'a pas à déterminer quelle est l'interprétation correcte que l'autorité cantonale aurait dû donner des dispositions applicables; il doit uniquement examiner si l'interprétation qui a été faite est défendable. Il ne s'écarte de la solution retenue que si celle-ci apparaît insoutenable ou en contradiction manifeste avec la situation effective, ou encore si elle a été adoptée sans motifs objectifs et en violation d'un droit certain. En outre, il ne suffit pas que les motifs de la décision critiquée soient insoutenables, encore faut-il que celle-ci soit arbitraire dans son résultat. Si l'application de la loi défendue par l'autorité cantonale ne se révèle pas déraisonnable ou manifestement contraire au sens et au but de la disposition ou de la législation en cause, cette interprétation sera confirmée, même si une autre solution paraît également concevable, voire préférable (<ref-ruling> consid. 4.4.1; <ref-ruling> consid. 5.8; <ref-ruling> consid. 7.3). Dans ce contexte, le recours est soumis aux exigences accrues de motivation de l'<ref-law> (<ref-ruling> consid. 4.1.2; <ref-ruling> consid 5.1; <ref-ruling> consid. 1.3; <ref-ruling> consid. 3.2).
3.
Dans une première critique intitulée "Entrée en force de la décision du Tribunal cantonal du 12 octobre 2018", les recourants reprochent à l'instance précédente d'avoir considéré qu'elle était liée par les considérants de son arrêt de renvoi du 12 octobre 2018; ils considèrent que l'instance précédente aurait dû procéder à un nouvel examen de l'ensemble des considérations figurant dans cet arrêt du 12 octobre 2018.
Cette première critique doit être rejetée. En effet, les recourants méconnaissent que lorsqu'un recours est interjeté contre une décision rendue à la suite d'un arrêt de renvoi, l'autorité de recours ne revoit pas les questions de droit qu'elle a elle-même définitivement tranchées dans l'arrêt de renvoi. Ce principe découle de la constatation que la juridiction supérieure n'est pas autorité de recours contre ses propres décisions. Le Tribunal fédér al applique le même principe lorsqu'une cause lui revient alors qu'il a rendu précédemment un arrêt de renvoi (cf. <ref-ruling> consid. 4.2.1 et les réf. cit.; arrêt 9C_522/2007 du 17 juin 2008 consid. 3.1). La cour cantonale pouvait ainsi considérer qu'elle était liée par les points qu'elle avait définitivement tranchés dans l'arrêt de renvoi du 12 octobre 2018 et pouvait renvoyer aux considérants y relatifs. Du reste et comme l'a retenu la cour de céans dans son arrêt d'irrecevabilité précité du 19 décembre 2018 (cf. supra let. B), les recourants pouvaient, suite à l'arrêt cantonal du 20 juillet 2020, aussi contester devant le Tribunal fédéral l'arrêt de renvoi du 12 octobre 2018.
4.
Dans les griefs intitulés "orientation de la toiture et du bâtiment: conséquence sur l'ensoleillement de la parcelle des époux A._", respectivement "pente du toit", les recourants soutiennent que l'orientation et la pente de la toiture principale les priveraient d'ensoleillement. Ils reprochent dans ce contexte à l'instance précédente de ne pas avoir procédé à une pesée des intérêts et invoquent une violation manifeste de l'art. 30 al. 1 de l'ancienne loi cantonale du 8 février 1996 sur les constructions (ci-après: aLC) selon lequel des dérogations peuvent être octroyées par l'autorité compétente lorsque des circonstances exceptionnelles ou des motifs importants le justifient et "qu'aucun intérêt public ou privé prépondérant des voisins ne s'en trouve lésé". Les recourants mentionnent en outre l'art. 25 let. a RCCZ, relatif à l'orientation des toitures, qui indique que "en règle générale, les bâtiments doivent se conformer à l'orientation générale du quartier, le faîte étant en principe parallèle ou perpendiculaire à la pente. Le conseil communal peut déterminer des zones de même orientation des bâtiments, en fonction de l'exposition, de l'ensoleillement, des vents, de la pente naturelle des terrains ou de l'alignement".
Tels qu'ils sont formulés, ces griefs sont irrecevables à plusieurs titres. En effet, tout d'abord, les recourants n'invoquent pas expressément une application arbitraire du droit communal en matière d'orientation et de pente des toitures. S'ils mentionnent certes l'art. 25 RCZZ règlementant l'orientation de la toiture sur le territoire communal, ils ne se plaignent toutefois pas d'une application arbitraire de cette disposition de droit communal. De plus, les recourants se contentent d'affirmer de manière purement appellatoire que si l'art. 25 RCZZ permet d'accorder des dérogations, il ne permet pas de couper à l'exigence d'une pesée des intérêts posée par l'art. 30 aLC. Ce faisant, les recourants ne démontrent pas le caractère arbitraire de l'appréciation de l'instance précédente selon laquelle l'art. 25 let. a RCCZ permettait, compte tenu de l'utilisation des vocables "en règle générale" et "en principe", de déroger à la règle voulant que les toitures des nouvelles constructions soient conformes à celles des constructions voisines et que en l'espèce l'orientation des toitures projetées ne violait pas le RCCZ (cf. arrêt cantonal du 20 juillet 2020 consid. 6.2 et arrêt cantonal du 12 octobre 2018 consid. 7.2). L'instance précédente se référait également à son arrêt de renvoi du 12 octobre 2018 dans lequel elle soulignait en outre que l'orientation des toitures n'était pas totalement homogène dans le secteur en question; elle mentionnait en particulier le faîte de la construction sise sur la parcelle n° 1'834, à quelque 60 mètres à l'est, qui n'était pas perpendiculaire à la pente, ainsi que d'autres bâtiments sis aux alentours, dont le corps nord du chalet des recourants qui comportait un toit plat, type de toiture interdit dans la zone (cf. arrêt du Tribunal cantonal du 12 octobre 2018 consid. 7.2). Compte tenu de ces constatations de fait - dont il n'y a pas lieu de s'écarter (cf. ci-dessus consid. 2) -, l'appréciation de l'instance précédente n'apparaît pas arbitraire à tout le moins dans son résultat, ce d'autant moins que le droit communal prévoit les orientations du faîte parallèle et perpendiculaire à la pente et que le bâtiment litigieux - constitué de deux corps de bâtiment - comprend un faîte parallèle et un autre perpendiculaire à la pente.
Par ailleurs, il sied de constater que, dans leur critique relative à la "pente du toit", les recourants ne prétendent pas expressément que le projet ne respecterait pas la pente minimum fixée par la disposition règlementaire communale topique, disposition que les recourants ne citent au demeurant pas. Les recourants se prévalent en revanche de leur intérêt à pouvoir conserver l'ensoleillement sur leur parcelle et reprochent en particulier aux instances précédentes de ne pas avoir effectué une pesée des intérêts (art. 30 aLC). Ce faisant, à nouveau les recourants ne cherchent pas à démontrer le caractère insoutenable des considérants de l'arrêt entrepris relatifs à cette problématique (cf. arrêt cantonal du 20 juillet 2020 consid. 6.3). Quoi qu'il en soit, dans la mesure où le projet litigieux apparaît conforme - à tout le moins sous l'angle de l'arbitraire - aux règles de police des constructions applicables à la zone, les recourants doivent en principe souffrir une diminution d'ensoleillement de leur parcelle (cf. arrêts 1C_334/2020 du 27 juillet 2021 consid. 4.4; 1C_510/2018 du 6 septembre 2019 consid. 4.3.2; 1C_582/2012 du 9 juillet 2013 consid. 4.3).
5.
Dans une critique intitulée "Point de départ de la hauteur des façades", les recourants font grief à la cour cantonale d'avoir procédé à une violation manifeste de l'art. 11 aLC, en considérant que "le plan du 6 novembre 2018 annexé à la correspondance du 7 mai 2019 de l'intimée, qui se fonde sur le terrain naturel et non le terrain aménagé pour le calcul de la hauteur du corps de bâtiment principal, est [...] conforme à l'article 11 alinéa 2 aLC". Les recourants affirment qu'il ressort pourtant très clairement des schémas figurant dans le glossaire annexé à l'ancienne ordonnance sur les constructions du 2 octobre 1996 (ci-après: aOC) que la hauteur du bâtiment, façade visible ou non, se calcule toujours depuis le terrain aménagé s'il est plus bas que le terrain naturel. Selon les recourants, la décision serait en outre arbitraire dans le résultat car elle permettrait un bâtiment aux dimensions excessives les privant de vue et de soleil.
Ce faisant, les recourants n'invoquent à nouveau pas suffisamment le grief d'application arbitraire de la norme de droit communal fixant la hauteur des constructions pour la zone considérée; ils ne prennent même pas la peine d'exposer, à l'appui de leur critique, quelle est la hauteur maximale applicable dans le cas d'espèce, ni quelle est la hauteur du projet selon eux. La critique des recourants ne satisfait ainsi manifestement pas aux exigences accrues de motivation (cf. consid. 2.1.2) et doit donc être déclarée irrecevable. Il n'y a, par conséquent, pas lieu de s'écarter de l'appréciation de l'instance précédente selon laquelle le bâtiment respecte les règles de hauteur fixés par le règlement communal.
6.
Dans un autre moyen intitulé "Décrochement de façade", les recourants font grief à l'instance précédente d'avoir retenu un décrochement de 4.50 m de la façade sud, alors qu'elle aurait dû retenir 7.50 m; ils se réfèrent notamment au document intitulé "prise de position du conseil communal en séance du 18 avril 2017" qui indique que "les décrochements, de 1.5 m au nord et de 7.5 m au sud vont dans l'esprit du RCCZ qui ne préconise un décrochement que pour éviter l'impression d'une façade « monumentale », ce que le projet respecte pleinement et donne un équilibre cohérent à l'ensemble".
A nouveau les recourants méconnaissent les exigences accrues de motivation s'agissant d'une violation du droit communal (cf. consid. 2.1.2). Ils ne donnent pas la teneur de la disposition qui aurait été appliquée arbitrairement, mais se limitent à se référer à un "décrochement dérogatoire de 7.50 m". Les recourants n'exposent en particulier pas quel était le décrochement maximal admissible. Ils affirment ensuite qu'il serait clair que le garage devrait être compris dans le décrochement; selon eux, la terrasse ne serait pas un corps de bâtiment et sa longueur de 3 m devrait être prise en compte. On peine à suivre le raisonnement des recourants. Cela étant, on ne voit pas, au vu des plans, en quoi il serait arbitraire de considérer que le décrochement de façade du corps secondaire du bâtiment se situe à 4.50 m de la façade sud du corps principal du bâtiment. L'instance précédente a à cet égard précisé que le chiffre de 7.50 m évoqué dans la prise de position du conseil communal du 18 avril 2017 était erroné. Les recourants ne cherchent en outre pas à démontrer le caractère insoutenable de l'appréciation de l'autorité communale qui a estimé que le décrochement en question permettait d'éviter l'impression d'une façade monumentale et donnait un équilibre cohérent à l'ensemble. Le fait d'affirmer sans aucune démonstration, comme le font les recourants, que la décision est arbitraire dans son résultat parce qu'elle permet la construction d'un bâtiment aux dimensions excessives ne respectant pas les dimensions légales n'est pas suffisant pour répondre aux exigences de motivation de l'<ref-law> en matière d'application arbitraire du droit cantonal ou communal.
7.
Dans une critique appelée "Habitat collectifs", les recourants soutiennent qu'"en l'absence de tout moyen de preuve établissant une pratique claire de la Commune, il était arbitraire de considérer la construction litigieuse comme un habitat individuel". Cette critique ne satisfait pas non plus aux exigences accrues de motivation précitées (cf. consid. 2.1.2). En effet, les recourants n'expliquent pas clairement quelle règle de droit cantonal ou communal est applicable en l'espèce. Ils ne discutent pas non plus la motivation développée par l'instance précédente. Ils se limitent en effet à affirmer sur un mode purement appellatoire que si la notion d'habitat individuel n'est pas définie par l'aLC ou l'aOC, il faudrait se référer à la notion de logement individuel de la loi fédérale sur les résidences secondaires (LRS) ou de la norme SIA/380/1 édition 2009 ou encore de la "directive relative aux programmes de promotion énergiques 2018 dans le canton du Valais". Ils soutiennent enfin que la construction en question comporterait deux cuisines distinctes pour chacun des deux appartements, de sorte qu'elle devrait être qualifiée d'habitat collectif au sens du droit cantonal ou fédéral.
Les recourants méconnaissent que la notion d'habitat individuel ou collectif relève in casu du droit communal. Ils se bornent en l'espèce à opposer leur propre appréciation juridique à celle de l'instance précédente sans chercher à en démontrer le caractère arbitraire. Cela étant, l'appréciation des juges précédents n'apparaît pas insoutenable. En effet, à la lecture des plans, ceux-ci pouvaient, sans verser dans l'arbitraire, considérer que le projet litigieux revêtait bien plus l'aspect d'une habitation individuelle que d'une habitation collective; les juges soulignaient notamment le fait que les deux logements avaient des entrées distinctes. N'apparaît pas non plus déraisonnable, la considération selon laquelle le type d'habitat collectif - par opposition à celui d'habitat individuel - est dévolu à des secteurs soumis à des prescriptions constructibles permettant l'édification de véritables immeubles d'habitation (cf. arrêt cantonal du 20 juillet 2020 consid. 9.3; arrêt cantonal du 12 octobre 2018 consid. 6.4). La critique des recourants doit dès lors être écartée.
8.
Les recourants se plaignent également de la densité et de l'indice de construction. A l'appui de leur grief, ils invoquent l'art. 5 al. 2 aOC qui donne la définition de la "surface brute de plancher utile " (SBPU). Les recourants ne se plaignent toutefois pas d'une application arbitraire du droit communal fixant le coefficient d'utilisation du sol pour la zone en question; ils ne prennent d'ailleurs même pas la peine de mentionner quel est le coefficient applicable dans le cas d'espèce, ni même d'exposer le calcul de la densité relatif au projet litigieux. Ils se contentent d'affirmer que les locaux n° 8, 9 et 10 ne devraient pas être pris en compte dans la SPBU, mais ne prétendent pas, ni a fortiori ne démontrent, que le coefficient de densité autorisé par le règlement communal serait dépassé, en tenant compte de la surface desdits locaux. Dans ces conditions, leur grief est insuffisamment motivé et doit pour ce motif être déclaré irrecevable.
9.
Enfin, dans une ultime critique intitulée "PAC (pompe à chaleur) ", les recourants se plaignent du fait que les incombances et conditions expressément mentionnées par le SEN dans sa recommandation du 21 août 2019 auraient été ignorées par les instances précédentes. Ils soutiennent par ailleurs que la constructrice aurait dû déposer une nouvelle mise à l'enquête complète pour la PAC indiquant les matériaux utilisés; en n'effectuant pas une nouvelle enquête, la commune aurait violé leur droit d'être entendus, ainsi que celui des autres voisins.
La critique des recourants est mal fondée. Il ressort en effet de l'arrêt entrepris que le SEN a attesté, dans son préavis du 21 août 2019, que la PAC litigieuse était conforme aux normes en vigueur, à condition qu'elle soit choisie et implantée conformément aux données transmises, que la puissance acoustique de l'appareil ne dépasse pas 62 dB (A), que l'entrée et la sortie d'air soient réalisées dans des sauts-de-loup d'au minimum 2,7 m de profondeur et que deux faces contiguës des sauts-de-loup soient recouvertes d'un matériau phonoabsorbant, comme par exemple 5 cm de laine de roche avec une densité supérieure à 70 kg/m3. Comme relevé par le Tribunal cantonal, il incombera au Conseil communal, en sa qualité d'autorité compétente en matière de police des constructions, de s'assurer du respect des conditions posées dan s ce document. Les recourants ne démontrent par ailleurs pas que le droit cantonal ou communal imposait une nouvelle mise à l'enquête en lien avec la PAC. Il est en outre douteux que leur critique tirée de la violation du doit d'être entendu (art. 29 al. al. 2 Cst.) répondent aux exigences spécifiques de motivation de l'<ref-law> applicable aux griefs d'ordre constitutionnel. Cela étant, les recourants ont eu l'occasion de faire valoir leurs critiques au sujet de la PAC devant les instances précédentes. Pour le surplus, les recourants ne sont pas habilités, dans le cadre de ce grief, à se prévaloir des intérêts de tiers. Ils ne démontrent quoi qu'il en soit pas le caractère arbitraire du constat de l'instance précédente selon lequel aucun élément du dossier ne tendait à prouver que la propriétaire de la parcelle voisine n° 1'827 n'aurait pas été à même de faire valoir ses droits à l'encontre du projet de l'intimée.
10.
Les considérants qui précèdent conduisent au rejet du recours, dans la faible mesure de sa recevabilité, aux frais des recourants, qui succombent (<ref-law>). Ceux-ci verseront solidairement entre eux des dépens à l'intimée, qui obtient gain de cause avec l'assistance d'un avocat (art. 68 al. 1 et 4 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais de justice, arrêtés à 4'000 fr., sont mis à la charge des recourants, solidairement entre eux.
3.
Une indemnité de 4'000 fr. est allouée à l'intimée, à la charge des recourants, solidairement entre eux.
4.
Le présent arrêt est communiqué aux mandataires des parties, à la Commune de Chalais, au Conseil d'Etat du canton du Valais et à la Cour de droit public du Tribunal cantonal du canton du Valais.
Lausanne, le 4 mars 2022
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Kneubühler
La Greffière : Arn