Faits :
A.
A._ AG, propriétaire des parcelles sises à la place B._, rue C._ à D._, s'est vue délivrer un permis de construire par la Municipalité de D._, le 10 février 2010 et un permis complémentaire le 3 juillet 2014, portant sur des travaux de transformation, des fondations spéciales et la création d'un deuxième niveau de sous-sol.
Le 21 mai 2019, la journaliste E._ a rédigé et publié un article relatif à ce chantier dans le quotidien F._, portant notamment sur la durée de celui-ci, les problèmes rencontrés par l'entrepreneur G._, administrateur de H._ SA, dans le cadre des travaux de construction, ainsi que sur les interpellations de conseillers communaux sur l'avancement du chantier.
Le 20 juin 2019, A._ AG a déposé plainte pénale contre la journaliste E._, le rédacteur en chef de F._, I._, l'administrateur président de J._ SA, K._, ainsi que le conseiller communal L._, pour calomnie, subsidiairement diffamation. En substance, A._ AG reprochait aux trois premiers d'avoir publié l'article du 21 mai 2019, dont le contenu salirait son image, les propos rapportés dans cet article portant atteinte à son honneur. Elle soutenait en outre que les propos du dernier nommé, rapportés dans cet article, portaient atteinte à son honneur.
A._ AG a déposé une deuxième plainte pénale le 21 juin 2019, faisant grief à M._, conseillère municipale en charge de la Direction du logement, de l'environnement et de l'architecture à la ville de D._, et à N._, du Service d'architecture de D._, ainsi qu'au service du personnel de leurs deux services, d'avoir révélé des faits protégés par le secret de fonction, qui ont été publiés dans l'article du 21 mai 2019.
Par acte du 4 juillet 2019, A._ AG a déclaré étendre sa plainte du 20 juin 2019 et a requis qu'une enquête soit ouverte contre G._ pour tentative de contrainte, tentative de chantage, subsidiairement extorsion. Elle prétendait que l'article du 21 mai 2019 ne poursuivait aucun intérêt public mais tendait à mettre la société H._ SA, dont G._ est l'administrateur, en position de force dans le litige qui les opposait. Elle faisait aussi grief à G._ d'avoir annoncé la publication d'un nouvel article décrit comme une "nouvelle salve d'attaques" à son encontre, dans le même but.
Par acte du 10 septembre 2019, A._ AG a déposé une extension de la plainte pénale contre L._, lui faisant grief d'avoir tenu des propos attentatoires à son honneur au Conseil communal de D._. A._ AG s'est également plainte d'un article rédigé par E._ et publié le 4 septembre 2019 dans le quotidien F._.
Par ordonnance du 17 janvier 2020, le Ministère public central vaudois a refusé d'entrer en matière sur les plaintes déposées par A._ AG.
B.
Par arrêt du 12 mai 2020, la Chambre des recours pénale du Tribunal cantonal vaudois a partiellement admis le recours formé par A._ AG contre l'ordonnance de non-entrée en matière, concernant certains propos de E._, L._ et N._. Pour le surplus, la cour cantonale a confirmé l'ordonnance du 17 janvier 2020.
C.
A._ AG forme un recours au Tribunal fédéral contre l'arrêt cantonal et conclut, avec suite de frais et dépens, à sa réforme en ce sens que l'ordonnance du 17 janvier 2020 est annulée et la cause renvoyée pour instruction des actes de E._, L._, G._, N._ et M._, une indemnité lui étant allouée pour les frais de recours. Subsidiairement, A._ AG conclut à l'annulation de l'arrêt cantonal et au renvoi de la cause à la cour cantonale pour nouvelle décision.

Considérant en droit :
1.
Selon l'art. 81 al. 1 let. a et b ch. 5 LTF, la partie plaignante qui a participé à la procédure de dernière instance cantonale est habilitée à recourir au Tribunal fédéral, si la décision attaquée peut avoir des effets sur le jugement de ses prétentions civiles. Constituent de telles prétentions celles qui sont fondées sur le droit civil et doivent en conséquence être déduites ordinairement devant les tribunaux civils. Il s'agit principalement des prétentions en réparation du dommage et du tort moral au sens des art. 41 ss CO. En vertu de l'art. 42 al. 1 LTF, il incombe à la partie recourante d'alléguer les faits qu'elle considère comme propres à fonder sa qualité pour recourir. Lorsque le recours est dirigé contre une décision de non-entrée en matière ou de classement de l'action pénale, la partie plaignante n'a pas nécessairement déjà pris des conclusions civiles. Quand bien même la partie plaignante aurait déjà déclaré des conclusions civiles (cf. art. 119 al. 2 let. b CPP), il n'en reste pas moins que le ministère public qui refuse d'entrer en matière ou prononce un classement n'a pas à statuer sur l'aspect civil (cf. art. 320 al. 3 CPP). Dans tous les cas, il incombe par conséquent à la partie plaignante d'expliquer dans son mémoire au Tribunal fédéral quelles prétentions civiles elle entend faire valoir contre l'intimé. Comme il n'appartient pas à la partie plaignante de se substituer au ministère public ou d'assouvir une soif de vengeance, la jurisprudence entend se montrer restrictive et stricte, de sorte que le Tribunal fédéral n'entre en matière que s'il ressort de façon suffisamment précise de la motivation du recours que les conditions précitées sont réalisées, à moins que l'on puisse le déduire directement et sans ambiguïté compte tenu notamment de la nature de l'infraction alléguée (<ref-ruling> consid. 1.1 p. 4). Les mêmes exigences sont requises à l'égard de celui qui se plaint d'infractions attentatoires à l'honneur (cf. parmi d'autres: arrêts 6B_17/2020 du 7 avril 2020 consid. 1.1; 6B_175/2020 du 2 mars 2020 consid. 2.1; 6B_673/2019 du 31 octobre 2019 consid. 1.1).
L'allocation d'une indemnité pour tort moral fondée sur l'art. 49 al. 1 CO suppose toutefois que l'atteinte présente une certaine gravité objective et qu'elle ait été ressentie par la victime, subjectivement, comme une souffrance morale suffisamment forte pour qu'il apparaisse légitime qu'une personne dans ces circonstances s'adresse au juge pour obtenir réparation (arrêts 6B_210/2020 du 11 novembre 2020 consid. 1.2.2; 6B_17/2020 du 7 avril 2020 consid. 1.1; 6B_673/2019 du 31 octobre 2019 consid. 1.1 et les références citées).
Si la partie plaignante se plaint d'infractions distinctes, elle doit mentionner, par rapport à chacune d'elles, en quoi consiste son dommage (arrêts 6B_356/2020 du 24 avril 2020 consid. 2.1; 6B_199/2020 du 9 avril 2020 consid. 1.1; 6B_1444/2019 du 4 mars 2020 consid. 2.1).
1.1. La recourante se contente d'affirmer qu'en déposant les plaintes pénales contre E._, I._, K._, L._, N._, M._ et G._, elle a dénoncé une campagne médiatique de dénigrement à son encontre visant à la faire apparaître comme une société méprisable et à la décrédibiliser aux yeux du public et de ses partenaires contractuels. Elle prétend avoir subi un préjudice qu'elle chiffre à 10'000 fr., en évoquant une atteinte grave au sens de l'art. 49 CO.
La recourante n'expose d'aucune manière quelles prétentions elle pourrait élever contre les sept personnes qu'elle nomme, alors même que les conclusions et développements du mémoire de recours se dirigent contre cinq d'entre elles (le refus d'entrée en matière étant confirmé s'agissant de I._ et K._ en vertu de l'art. 28 CP). La recourante évoque un préjudice qu'elle rattache de manière générale à la " campagne de dénigrement " dont elle se plaint, sans préciser quelles conclusions civiles elle entend déduire de chacune des infractions qu'elle reproche aux différentes personnes qu'elle met en cause.
Par ailleurs, la recourante ne démontre pas à satisfaction de droit en quoi l'atteinte subie revêtirait la gravité objective et subjective que la jurisprudence exige pour l'allocation d'une indemnité pour tort moral (cf. s'agissant de l'atteinte à l'honneur d'une personne morale: <ref-ruling> consid. 2a p. 266; arrêt 6B_1020/2018 du 1er juillet 2019 consid. 5.1.1). Son allégation n'est ni étayée, ni objectivée. La gravité des faits dénoncés et de l'atteinte censée en découler ne s'impose pas comme une évidence. Une simple affirmation à ce sujet n'est pas suffisante eu égard aux exigences de motivation découlant de l'art. 42 al. 2 LTF.
La recourante échoue à démontrer sa qualité pour recourir sur le fond de la cause, s'agissant des différentes infractions qu'elle dénonce.
Enfin, parmi les personnes qu'elle dénonce, L._, conseiller communal, M._, conseillère municipale en charge de la Direction du logement, de l'environnement de la Ville de D._ et N._, du service d'architecture de la ville, sont mis en cause pour des propos tenus dans le cadre de leur fonction. Or, selon la loi vaudoise du 16 mai 1961 sur la responsabilité de l'État, des communes et de leurs agents (LRECA/VD; RS/VD 170.11), qui s'applique notamment aux membres des autorités, les fonctionnaires, les employés et les autres agents des corporations communales (art. 3 al. 2), l'État et les corporations communales répondent directement du dommage que leurs agents causent à des tiers d'une manière illicite (art. 4). L'agent n'est pas personnellement tenu envers le lésé de réparer le dommage (art. 5). Le canton de Vaud ayant ainsi fait usage de la faculté réservée à l'art. 61 al. 1 CO, la recourante ne disposerait que d'une prétention de droit public à faire valoir non pas contre les personnes qu'elle dénonce, mais contre l'État (cf. <ref-ruling> consid. 3.1 p. 82 s.; arrêts 6B_64/2020 du 4 mai 2020 consid. 1.3; 6B_94/2020 du 10 février 2020 consid. 3; 6B_537/2018 du 27 juillet 2018 consid. 2.2).
En définitive, la recourante ne dispose pas de la qualité pour recourir sur le fond de la cause, au regard de l'art. 81 al. 1 let. b ch. 5 LTF.
1.2. Pour le surplus, la recourante ne se plaint pas d'une violation de son droit de porter plainte au sens de l'art. 81 al. 1 let. b ch. 6 LTF, ni d'une éventuelle atteinte à ses droits de partie équivalant à un déni de justice formel (cf. <ref-ruling> consid. 1.1 p. 5 et les références citées).
2.
Au vu de ce qui précède, le recours doit être déclaré irrecevable. La recourante, qui succombe, supporte les frais judiciaires (art. 66 al. 1 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est irrecevable.
2.
Les frais judiciaires, arrêtés à 3'000 fr., sont mis à la charge de la recourante.
3.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Vaud, Chambre des recours pénale.
Lausanne, le 15 mars 2021
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Juge présidant : Denys
La Greffière : Klinke