Faits :
A.
A.a. A._ exploite en raison individuelle une entreprise d'aménagement et de décoration d'intérieurs sous la raison sociale X._, à....
K.B._ et L.B._ sont copropriétaires de lots de propriété par étages, soit notamment de deux appartements de la Résidence " U._ " à....
A.b. Les frères B._ ont entrepris des travaux dans leurs appartements. Le 28 septembre 2009, C._, directeur des travaux, a estimé le coût des rénovations à 990'000 francs.
Dans le cadre de leur chantier, les frères B._ (ci-après: les maîtres de l'ouvrage) ont pris contact avec A._ (ci-après: l'entrepreneuse). Compte tenu de l'enveloppe globale précitée, les parties ont arrêté un montant forfaitaire de 420'000 fr. pour des travaux de menuiserie et d'ébénisterie. Par la suite, elles sont encore convenues de travaux supplémentaires ne faisant pas l'objet du contrat de base, soit la pose de revêtements sur les balcons pour un montant de 14'000 fr. et la réalisation de revêtements de parois dans une cuisine pour 25'000 francs.
A.c. Au cours du chantier, C._ s'est trouvé en incapacité d'accomplir son travail du fait d'une maladie. Les maîtres de l'ouvrage ont alors mandaté D._ en qualité de consultant technique.
A.d. Les maîtres de l'ouvrage ont versé à l'entrepreneuse un total de 410'000 fr., correspondant à la rémunération prévue dans le contrat de base, sous déduction de 10'000 fr. pour des moquettes non posées.
A.e. Le 6 mai 2014, l'entrepreneuse et D._ ont listé de façon contradictoire les malfaçons et finitions dont les maîtres de l'ouvrage demandaient l'exécution.
Par courrier du 12 mai 2014, l'entrepreneuse s'est engagée à réaliser plusieurs travaux listés.
Elle n'a pas remédié à certains défauts, ni effectué certaines finitions, considérant que cela ne lui incombait pas.
A.f. Une séance a eu lieu sur le chantier le 30 juin 2014, en présence de l'entrepreneuse et de D._.
A.g. Le 17 septembre 2014, l'entrepreneuse a adressé aux maîtres de l'ouvrage un " dernier rappel avant poursuite ", en leur impartissant un délai de cinq jours pour acquitter la facture de 39'000 fr. relative à la cuisine et aux balcons.
A.h. Alors que les ouvrages commandés à l'entrepreneuse n'étaient pas achevés, D._ a, par courrier du 1er octobre 2014 adressé à l'entrepreneuse, relevé que les travaux n'avaient pas été livrés. Il lui a fait part de plusieurs défauts concernant les balcons, notamment que les lames étaient déjà cassées et que les garde-corps ne respectaient pas la hauteur réglementaire. Au nom des maîtres de l'ouvrage, il considérait que le dernier paiement valait pour solde de tout compte. Il a annoncé qu'il allait confier les réfections à une autre entreprise aux frais des maîtres de l'ouvrage. Il a interdit à l'entrepreneuse l'accès au chantier.
A.i. Les maîtres de l'ouvrage ont chargé l'architecte E._ de réaliser une expertise. Celui-ci a consulté un maître menuisier. Dans son rapport du 4 mai 2015, E._ a retenu que les travaux commandés n'étaient pas intégralement terminés, que certains comportaient des défauts et que plusieurs prix étaient surévalués.
B.
B.a. Le 11 mai 2015, au bénéfice d'une autorisation de procéder, l'entrepreneuse a saisi le Tribunal du district de Sierre d'une demande dirigée contre les maîtres de l'ouvrage tendant à les condamner, solidairement entre eux, à lui payer la somme de 39'000 fr. avec intérêts.
Les maîtres de l'ouvrage ont déposé une réponse et une demande reconventionnelle. Dans le dernier état de leurs conclusions, ils ont demandé le déboutement de l'entrepreneuse de toutes ses conclusions et ont requis à titre reconventionnel l'autorisation de la remise en état de l'ouvrage et son achèvement par un tiers, ainsi que la condamnation de l'entrepreneuse à leur verser les montants de 51'945 fr., de 23'852 fr. 85 et de 118'282 fr. avec intérêts. Ils ont déclaré compenser toute éventuelle créance de l'entrepreneuse avec leurs propres créances à son encontre.
L'autorité de première instance a confié la réalisation d'une expertise à l'architecte F._, lequel s'est adjoint les services de G._, menuisier. L'expert judiciaire a notamment relevé que les lames de sol des balcons vrillaient et se détachaient, car elles avaient été posées sur des lambourdes trop fines. La réalisation du plancher avait pour effet de réduire la hauteur totale des garde-corps, lesquels ne remplissaient plus leur fonction sécuritaire. Le plancher et les remontées boisées devaient être démontés et ne devaient pas être remplacés avant de trouver une solution commune à l'immeuble. L'expert a estimé les frais de démontage à 5'500 francs. Il a encore constaté que plusieurs éléments dans la cuisine étaient abîmés ou manquants.
Par jugement du 27 août 2018, le tribunal a rejeté les demandes principale et reconventionnelle, dans la mesure de leur recevabilité.
B.b. Le 27 septembre 2018, tant les maîtres de l'ouvrage que l'entrepreneuse ont interjeté appel à l'encontre de ce jugement auprès de la Cour civile I du Tribunal cantonal du canton du Valais. Ils ont repris l'ensemble de leurs conclusions formées devant le premier juge.
Par jugement du 26 mai 2020, la cour cantonale a rejeté l'appel de l'entrepreneuse et a très partiellement admis celui des maîtres de l'ouvrage. Elle a condamné l'entrepreneuse à leur verser, en tant que créanciers solidaires, 5'500 fr. avec intérêts à 5 % dès le 1er juillet 2015.
En substance, la cour cantonale a retenu que les ouvrages commandés n'étaient pas achevés et que les maîtres de l'ouvrage avaient résilié le contrat de façon anticipée selon l'art. 377 CO. S'agissant des travaux en lien avec la cuisine, l'entrepreneuse n'avait pas établi le montant de sa créance. Pour les travaux sur les balcons, l'état des lames de sol et la qualité du bois, en particulier, constituaient des défauts. Il n'y avait pas lieu d'examiner si les maîtres de l'ouvrage avaient informé l'entrepreneuse en temps utile de ces défauts, dès lors que celle-ci n'avait pas allégué l'absence d'avis des défauts. Concernant la fonctionnalité des garde-corps, il incombait à l'entrepreneuse, en vertu de son devoir de diligence, de rendre les maîtres de l'ouvrage attentifs aux conséquences indésirables qu'entraînerait la pose du revêtement. Il découlait de la violation du devoir d'information, à laquelle venaient encore s'ajouter les défauts précités, que l'ouvrage réalisé ne présentait aucune utilité pour les maîtres de l'ouvrage. En effet, il n'était pas possible de modifier les garde-corps sans l'accord de la communauté des copropriétaires. Selon l'expert judiciaire, le plancher devait être démonté. Le dommage négatif subi par les maîtres de l'ouvrage, dont l'entrepreneuse répondait au titre de l'art. 97 CO, comprenait le prix de l'ouvrage et les frais de démontage et de remise en état du balcon, estimés à 5'500 fr. par l'expert judiciaire. Les maîtres de l'ouvrage pouvaient ainsi s'opposer au paiement du prix des travaux et réclamer en sus une créance en dommages-intérêts de 5'500 francs.
C.
L'entrepreneuse (ci-après: la recourante) a formé un recours en matière civile au Tribunal fédéral, en concluant, en substance, à la réforme du jugement attaqué en ce sens que les maîtres de l'ouvrage (ci-après: les intimés) soient condamnés solidairement entre eux à lui payer la somme de 39'000 fr. avec intérêts.
Dans leur réponse, les intimés ont conclu à l'irrecevabilité du recours et, subsidiairement, à son rejet.
L'autorité précédente s'est référée aux considérants du jugement attaqué.
La recourante a déposé une réplique spontanée. Les intimés ont renvoyé à leur réponse.
Considérant en droit :
1.
Les conditions de recevabilité du recours en matière civile sont réalisées sur le principe, notamment celles afférentes à la valeur litigieuse minimale de 30'000 fr. (art. 74 al. 1 let. b LTF) et au délai de recours (art. 100 al. 1 LTF).
2.
2.1. Le recours peut être formé pour violation du droit fédéral (art. 95 let. a LTF). Le Tribunal fédéral applique le droit d'office (art. 106 al. 1 LTF). Eu égard, toutefois, à l'exigence de motivation qu'impose l'art. 42 al. 2 LTF, sous peine d'irrecevabilité (art. 108 al. 1 let. b LTF), il n'examine que les griefs invoqués, sauf en cas d'erreurs juridiques manifestes (ATF 140 III 115 consid. 2).
2.2. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF). Il ne peut rectifier ou compléter les constatations de l'autorité précédente que si elles sont manifestement inexactes ou découlent d'une violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF). " Manifestement inexactes " signifie ici " arbitraires " (ATF 140 III 115 consid. 2; 135 III 397 consid. 1.5). Encore faut-il que la correction du vice soit susceptible d'influer sur le sort de la cause (art. 97 al. 1 LTF).
La critique de l'état de fait retenu est soumise au principe strict de l'allégation énoncé par l'art. 106 al. 2 LTF (ATF 140 III 264 consid. 2.3 et les références). La partie qui entend attaquer les faits constatés par l'autorité précédente doit expliquer clairement et de manière circonstanciée en quoi les conditions précitées seraient réalisées (ATF 140 III 16 consid. 1.3.1 et les références). Si elle souhaite obtenir un complètement de l'état de fait, elle doit aussi démontrer, par des renvois précis aux pièces du dossier, qu'elle a présenté aux autorités précédentes en conformité avec les règles de procédure les faits juridiquement pertinents à cet égard et les moyens de preuve adéquats (ATF 140 III 86 consid. 2). Si la critique ne satisfait pas à ces exigences, les allégations relatives à un état de fait qui s'écarterait de celui de la décision attaquée ne pourront pas être prises en considération (ATF 140 III 16 consid. 1.3.1).
En matière d'appréciation des preuves, il y a arbitraire lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle en tire des constatations insoutenables. L'arbitraire ne résulte pas du seul fait qu'une autre solution serait envisageable, voire préférable (ATF 136 III 552 consid. 4.2).
3.
La recourante reproche d'abord à l'instance précédente d'avoir constaté de manière manifestement inexacte qu'elle n'avait pas achevé les ouvrages commandés au 1er octobre 2014. Elle fait valoir que la réception des travaux a eu lieu le 30 juin 2014.
A cet égard, elle se limite à se référer à ses propres allégués, qui seraient " dûment prouvés " par " les pièces 8 du mémoire-demande et 15 des défendeurs ", ainsi que par sa propre " déposition ". Ce faisant, elle se contente d'opposer sa propre appréciation des faits à celle des juges précédents et ne satisfait en aucun cas aux exigences strictes de motivation de l'art. 106 al. 2 LTF. Pour le surplus, elle n'a pas formulé ce moyen devant la cour cantonale, alors que ce point était expressément discuté par l'autorité de première instance (épuisement des griefs; ATF 143 III 290 consid. 1.1 et les références citées). Cette critique est donc irrecevable.
Les arguments de la recourante qui se fondent sur son affirmation selon laquelle ces travaux étaient déjà terminés au moment de la résiliation anticipée du contrat, et donc, sur un état de fait différent de celui retenu par la cour cantonale, sont également irrecevables.
4.
La recourante fait encore grief à la cour cantonale d'avoir constaté de façon manifestement inexacte qu'elle n'avait pas allégué l'absence d'avis des défauts en relation avec les travaux exécutés. Elle soutient que tel était le cas.
En tant que l'intéressée se limite à renvoyer à son " allégué 8 ", sans préciser de quelle écriture il s'agit, son grief est irrecevable au regard des exigences de motivation applicables.
5.
Dans un dernier moyen, la recourante semble se prévaloir d'une violation de l'art. 97 CO. Elle reproche à la cour cantonale d'avoir appliqué cette disposition en lien avec la fonctionnalité des garde-corps des balcons, alors que les intimés n'avaient ni allégué, ni prouvé les conditions d'une éventuelle responsabilité contractuelle.
5.1. Selon l'art. 97 al. 1 CO, lorsque le créancier ne peut obtenir l'exécution de l'obligation ou ne peut l'obtenir qu'imparfaitement, le débiteur est tenu de réparer le dommage en résultant, à moins qu'il ne prouve qu'aucune faute ne lui est imputable. La responsabilité de l'art. 97 al. 1 CO est soumise à quatre conditions, soit la violation du contrat, le dommage, le rapport de causalité (naturelle et adéquate) entre la violation contractuelle et le dommage, ainsi que la faute.
5.2. La cour cantonale a retenu qu'il découlait de la violation du devoir d'information de la recourante en lien avec la hauteur des garde-corps des balcons, à laquelle s'ajoutaient les défauts concernant le revêtement (liés en particulier à l'état des lames de sol), que l'ouvrage réalisé ne présentait aucune utilité pour les intimés. Le dommage négatif subi par ces derniers, dont la recourante répondait au titre de l'art. 97 CO, comprenait le prix de l'ouvrage ainsi que les frais de démontage et de remise en état du balcon, estimés à 5'500 fr. par l'expert judiciaire.
5.3. Point n'est besoin d'analyser l'application de l'art. 97 CO en l'espèce.
En effet, la cour cantonale a constaté, également sous l'angle du régime de la garantie des défauts, que l'ouvrage précité concernant le balcon était inutilisable pour les intimés, ce que la recourante n'a pas critiqué. L'autorité précédente pouvait donc retenir, selon les règles de la garantie pour les défauts (cf. art. 368 al. 1 CO), que la créance en paiement de la recourante était éteinte et que les intimés pouvaient faire enlever par un tiers l'ouvrage défectueux érigé sur leur fonds, aux frais de la recourante. Ces frais, que l'expert judiciaire a fixés à 5'500 fr., n'ont pas été critiqués par l'intéressée devant l'autorité précédente. En définitive, elle ne parvient pas à démontrer que les juges cantonaux auraient violé le droit fédéral d'une quelconque façon.
6.
Au vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable.
La recourante, qui succombe, prendra en charge les frais judiciaires (art. 66 al. 1 LTF). Elle versera en outre une indemnité de dépens aux intimés, créanciers solidaires (art. 68 al. 1 et 2 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 judiciaires, arrêtés à 2'000 fr., sont mis à la charge de la recourante.
3.
La recourante versera une indemnité de 2'500 fr. aux intimés, créanciers solidaires, à titre de dépens.
4.
Le présent arrêt est communiqué aux parties et à la Cour civile I du Tribunal cantonal du canton du Valais.
Lausanne, le 25 janvier 2021
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La juge présidant : Kiss
La greffière : Raetz