Fatti :
A.- C._ risulta dal registro di commercio essere stato amministratore unico, con diritto di firma individuale, della società L._ SA dal 13 dicembre 1993 al 29 ottobre 1998, pur avendo rassegnato le dimissioni da tale incarico in data 30 giugno 1994.
Il 20 giugno 1997 la società è stata posta al beneficio di una moratoria concordataria di sei mesi, prorogata di ulteriori sei mesi, prima che il Pretore del Distretto di Riviera ne omologasse in data 13 luglio 1999 il concordato.
Mediante decisione 16 giugno 1998, la Cassa di compensazione del Cantone Ticino, constatato d'aver subito un danno di fr. 32'019. 85 a seguito del mancato versamento dei contributi paritetici dovuti dalla società L._ SA per gli anni 1994-1997 e durante il periodo della moratoria concordataria, ne ha preteso il pagamento dal suo amministratore, il quale, dopo avere inizialmente interposto opposizione, ha ritirato la stessa il 29 luglio 1998.
In seguito alle rivelazioni emerse da un'audizione di C._ avvenuta in data 29 luglio 1998, la Cassa, con tre separate decisioni del 28 luglio 1999, ha pure formulato, per lo stesso importo, formale richiesta di risarcimento danni, con vincolo di solidarietà, alla T._ SA, e ai suoi amministratori, G._, ritenendoli amministratori di fatto della L._ SA.
B.- Avendo T._ SA, unitamente a G._, patrocinati dall'avv. Andrea Pagani, interposto opposizione, il 27 settembre 1999 la Cassa ha promosso nei loro confronti azione di risarcimento danni innanzi al Tribunale delle assicurazioni del Cantone Ticino, postulandone la condanna al pagamento di fr. 28'638. 65, importo risultante dopo deduzione di fr. 3'381. 20, pari al dividendo concordatario nel frattempo ottenuto. Con atto 22 novembre 1999, la Cassa ha rettificato la pretesa in fr. 20'230. 50, essendo stati versati ulteriori fr. 8'408. 15 per contributi maturati durante la moratoria concordataria.
Congiunte le procedure, l'adita istanza giudiziaria con pronunzia 21 maggio 2001 ha respinto le petizioni nei confronti di G._, mentre ha accolto quella contro la T._ SA, condannandola al pagamento del predetto importo.
C.- T._ SA, sempre assistita dall'avv. Pagani, insorge con ricorso di diritto amministrativo al Tribunale federale delle assicurazioni, chiedendo l'annullamento del giudizio cantonale nella misura in cui ha accolto la petizione nei suoi confronti. Dei motivi indicati nell'impugnativa si dirà, per quanto occorra, nei considerandi che seguono.
G._, invitati ad esprimersi quali cointeressati, propongono l'accoglimento del gravame, mentre la Cassa e l'Ufficio federale delle assicurazioni sociali hanno rinunciato a determinarsi.

Diritto :
1.- a) Qualora la lite non verta sull'assegnazione o il rifiuto di prestazioni assicurative, il Tribunale federale delle assicurazioni deve limitarsi ad esaminare se il giudizio di primo grado abbia violato il diritto federale, compreso l'eccesso o l'abuso del potere di apprezzamento, oppure se l'accertamento dei fatti sia manifestamente inesatto, incompleto o avvenuto violando norme essenziali di procedura (art. 132 OG in relazione con gli art. 104 lett.
a e b e 105 cpv. 2 OG).
b) Oggetto della controversia è il risarcimento di danni per il mancato pagamento di contributi AVS/AI/IPG/AD eAF. Ora, per quel che riguarda questi ultimi, essi attengono alla legislazione cantonale, per cui il loro esame sfugge al controllo giudiziale del Tribunale federale delle assicurazioni, il quale è legittimato a statuire unicamente circa gli oneri di diritto federale (<ref-ruling> consid. 1 e riferimenti). Nella misura in cui riguarda danni addebitabili al mancato versamento di simili contributi, il ricorso di diritto amministrativo è quindi irricevibile.
c) Nei considerandi del querelato giudizio, cui si rinvia, i primi giudici hanno già correttamente rilevato come il datore di lavoro sia tenuto al pagamento regolare dei contributi sociali e come, in caso di mancato versamento dei medesimi per intenzionalità o per grave negligenza, possano essere chiamati a rispondere del danno, a titolo sussidiario, gli organi della società anonima (cfr. <ref-ruling> consid. 5b e riferimenti), precisando quali siano le norme legali e i principi di giurisprudenza applicabili in concreto. A questa esposizione può essere fatto riferimento e prestata adesione.
2.- a) La Corte cantonale, reputando predominante il ruolo di T._ SA nel determinare la volontà della L._ SA e ritenendo altresì che la ricorrente non avrebbe reso verosimile l'esistenza di motivi di giustificazione o di discolpa, ha condannato quest'ultima al risarcimento di fr. 20'230. 50, pari agli oneri sociali rimasti impagati dalla società L._ SA.
b) Nel proprio gravame T._ SA contesta le conclusioni dei primi giudici nella misura in cui l'hanno ritenuta responsabile del danno cagionato alla Cassa. Essa fa innanzitutto valere la perenzione della pretesa della Cassa. La ricorrente adduce poi che a seguito dell'omologazione del concordato avvenuta il 13 luglio 1999 tutti i creditori chirografari, Cassa compresa, sarebbero da ritenere defintivamente tacitati. Infine, rileva di non poter essere considerata organo di fatto della L._ SA, essendosi limitata - seguendo le precise istruzioni rilasciate dall'ex amministratore unico Calderoni - alla semplice tenuta della contabilità della società.
3.- a) In via preliminare va verificato se l'amministrazione abbia fatto valere tempestivamente, ossia nel termine di un anno stabilito dall'<ref-law>, il suo diritto al risarcimento dei danni. La ricorrente contesta che il termine di perenzione possa essere fatto decorrere - come invece accertato dalla pronunzia querelata - dal 29 luglio 1998, giorno in cui la Cassa, in sede di audizione dell'amministratore unico C._, sarebbe venuta a conoscenza della circostanza che T._ SA avrebbe operato quale amministratrice di fatto. L'interessata ritiene piuttosto che l'inizio di detto termine vada situato al 25 maggio 1998, allorquando all'assemblea dei creditori era stato prospettato un dividendo concordatario del 6,49 %, o quantomeno al 19 giugno 1998, in concomitanza con la trasmissione della relazione del Commissario al Pretore del Distretto di Riviera, oppure, infine, al più tardi al 14 luglio 1998 quando una rappresentante della Cassa aveva partecipato ad un'udienza di omologazione del concordato.
b) La Corte cantonale ha già ricordato in modo esauriente le disposizioni di legge e i principi giurisprudenziali disciplinanti la perenzione. A questa esposizione può essere fatto riferimento e prestata adesione.
Per l'<ref-law> il diritto di richiedere il risarcimento di un danno si prescrive quando la cassa di compensazione non lo fa valere mediante una decisione entro un anno dal momento in cui ha avuto conoscenza dello stesso.
Questo termine, contrariamente alla lettera del disposto, è di perenzione, la quale, come tale, deve essere accertata d'ufficio (<ref-ruling> consid. 2a, 121 III 388 consid. 3b e sentenze ivi citate).
Come rettamente rilevato dalla Corte cantonale, il termine perentorio di un anno inizia a decorrere solo dal giorno in cui, accanto al danno, la Cassa ha pure conoscenza della persona tenuta al risarcimento (<ref-ruling>; RCC 1991 pag. 132; Nussbaumer, Das Schadenersatzverfahren nach Art. 52 AHVG, in: Schaffhauser/Kieser, Aktuelle Fragen aus dem Beitragsrecht der AHV, San Gallo 1998, pag. 111).
c) Ora, è vero che il 16 giugno 1998 - nel periodo intercorrente tra l'adunanza dei creditori 25 maggio 1998 e la relazione 19 giugno 1998 del Commissario all'indirizzo del Pretore competente - la Cassa aveva notificato all'amministratore unico di L._ SA una decisione di risarcimento danni giusta l'<ref-law>. Tuttavia, è solo in seguito all'audizione 29 luglio 1998 che l'amministrazione ha appreso da quest'ultimo che egli avrebbe agito unicamente quale prestanome e che la società anonima sarebbe - a detta di C._ - di fatto stata gestita dalla T._ SA, rappresentata dai fratelli G._.
Stando quanto precede, si deve ritenere che la Cassa, avendo emanato il 28 luglio 1999 la decisione di risarcimento danni nei confronti della ricorrente, ha rispettato il termine annuo di perenzione.
4.- La ricorrente censura quindi il giudizio cantonale per essere stata ingiustamente ritenuta organo di fatto della società L._ SA.
a) Secondo giurisprudenza, sono considerati organi di una persona giuridica in primo luogo le persone iscritte come tali a registro di commercio, quali il consiglio di amministrazione (rispettivamente l'amministratore unico) e gli organi di controllo. A determinate condizioni possono assumere la qualità di organo anche il direttore, il procuratore ex <ref-law> o l'amministratore di fatto (<ref-ruling>, 117 II 441 consid. 2b, 571 consid. 3 e riferimenti; Nussbaumer, Les caisses de compensation en tant que parties à une procédure de réparation d'un dommage selon l'<ref-law>, in RCC 1991 pag. 402 seg.).
Decisivo per la qualifica di organo d'una società per persone che non fanno parte del consiglio di amministrazione è la circostanza che esse esercitino effettivamente la funzione medesima, prendendo decisioni che competono agli organi o assumendo la gestione della ditta ed influenzandone così in modo determinante la formazione della volontà (<ref-ruling> consid. 3; Forstmoser/Meier-Hayoz/Nobel, Schweizerisches Aktienrecht, Berna 1996, § 37, n. 17).
Nell'ambito di azioni di responsabilità sono infatti di rilievo le mansioni concretamente svolte da una persona in seno alla società. Diversamente, la persona interessata dovrebbe essere considerata responsabile anche per i danni di cui, per difetto di competenza, non avrebbe potuto impedire il verificarsi (<ref-ruling> consid. 5a).
b) A ben vedere, le risultanze istruttorie non hanno messo in evidenza indizi affidabili e convergenti che facciano concludere per l'esistenza di un'attività della T._ SA quale amministratrice di fatto. Contrariamente a quanto ritenuto dai primi giudici, l'aver sottoscritto le dichiarazioni fiscali, i bilanci e l'aver chiesto alla Cassa una dilazione del pagamento dei contributi non sono ancora, di per sé, atti sufficienti per giustificare una qualifica di organo materiale nell'ambito della gestione della società, trattandosi di atti amministrativi di mera esecuzione. Non risulta infatti che con la delega alla ricorrente delle questioni amministrative, la stessa abbia pure acquisito ed esercitato competenze decisionali influenzando in modo determinante la formazione della volontà societaria (cfr. sentenza inedita del 6 ottobre 1998 in re K., H 72/98). Dall'inserto emerge piuttosto che era l'amministratore C._ a discutere con la fiduciaria gli "assestamenti da eseguire" prima di trasmettere i bilanci alle autorità competenti. Inoltre, dalla deposizione dello stesso dinnanzi al Tribunale cantonale in data 6 marzo 2001 risulta che era lui a venire interpellato per l'esecuzione di grosse riparazioni e delle spese legali e a dare "l'avallo" ai relativi pagamenti, mentre dei fornitori si occupava il gerente del ristorante amministrato dalla L._ SA. Infine, è sempre lo stesso C._ ad avere riconosciuto che, malgrado avesse rassegnato le dimissioni già da diversi anni, non solo aveva ancora sottoscritto in qualità di amministratore unico l'istromento notarile 2 giugno 1997 relativo all'aumento di capitale della società, ma aveva più in generale continuato ad esercitare il suo mandato, determinandosi solo il 4 agosto 1998 a domandare all'Ufficio dei registri di B._ di registrare le sue dimissioni.
c) Volere, sulla scorta di questi elementi, desumere dalle attività della ricorrente - i cui dipendenti disponevano sì di procure bancarie per effettuare i necessari pagamenti, ma, come rilevato dagli amministratori della fiduciaria e riconosciuto, perlomeno implicitamente, dallo stesso amministratore unico, solo per permettere alla fiduciaria di agire nell'ambito del mandato affidatole - una qualifica di organo di fatto costituisce un'interpretazione giuridica che non può essere condivisa da questa Corte, ancor meno alla luce delle precisazioni rese dall'amministratore C._, il quale, chiarendo l'equivoco creato dalle proprie dichiarazioni, ha precisato di ritenere T._ SA quale amministratrice di fatto di L._ SA per il motivo che la fiduciaria si occupava, su delega di terzi, di registrare la contabilità, di fare i conteggi salariali, insomma di "tutte le pratiche d'ufficio e amministrative". Orbene, per quanto suesposto, siffatta conclusione - che peraltro conferma la portata delle attività svolte dall'insorgente -, muove da premesse errate, non essendo le mansioni attribuite alla ricorrente di per sé sufficienti per connotare il suo operato al pari di un organo di fatto. Ne deve pertanto conseguire che già solo facendo difetto la qualità di organo (eventualmente) responsabile del danno insorto alla Cassa opponente, il ricorso deve essere accolto e la pronunzia querelata annullata.
5.- Visto l'esito di quanto precede, può rimanere irrisolta la questione di sapere se l'omologazione del concordato e il pagamento del dividendo, che hanno comportato in forza dell'<ref-law> l'estinzione del credito per contributi nella misura eccedente la percentuale concordataria, abbiano allo stesso modo creato per la Cassa, quale creditrice chirografa non privilegiata - in virtù dell'ordinamento valido tra il 1° gennaio 1997 e il 31 dicembre 2000, determinante ai fini del presente giudizio (<ref-ruling> consid. 1b e riferimenti) -, l'estinzione di ogni conseguente pretesa risarcitoria ai sensi dell'<ref-law>.
6.- Non trattandosi in concreto di una lite avente per oggetto l'assegnazione o il rifiuto di prestazioni assicurative, la procedura non è gratuita (art. 134 OG a contrario).
Le spese processuali seguono la soccombenza e devono essere messe a carico della Cassa opponente, la quale verserà altresì alla T._ SA, assistita da un legale, fr. 2'500.- a titolo di indennità di parte in sede federale (art. 135 in relazione con gli art. 156 cpv. 1 e 159 OG).

Per questi motivi, il Tribunale federale delle assicurazioni
pronuncia :
I.In quanto ricevibile, il ricorso di diritto amministrativo
è accolto, il giudizio 21 maggio 2001 del
Tribunale delle assicurazioni del Cantone Ticino
essendo annullato e la petizione 27 settembre 1999
della Cassa di compensazione del Cantone Ticino
respinta.
II.Le spese giudiziarie, ammontanti a fr. 1'600.-, sono poste a carico della Cassa di compensazione opponente.
III. L'anticipo spese di fr. 1'600.- versato dalla ricorrente viene retrocesso.
IV.La Cassa opponente verserà alla ricorrente la somma di fr. 2'500.- (comprensiva dell'imposta sul valore aggiunto) a titolo di indennità di parte per la procedura
federale.
V.Il Tribunale cantonale delle assicurazioni statuirà
sulla questione delle spese ripetibili di prima
istanza, tenuto conto dell'esito del procedimento in
sede federale cantonale.
VI.La presente sentenza sarà intimata alle parti, al Tribunale cantonale delle assicurazioni, Lugano, all' Ufficio federale delle assicurazioni sociali e a
G._.