Maurizio Sarri, who was a hero at Napoli after he almost led the club to a Serie A title in 2018 before losing out to Juve, was looking to beat his former club in order to claim his first trophy in Italian football.
Gattuso, a beaten finalist as AC Milan manager in 2018, was also looking for his major honour as a manager.
"Football has given me so much and that is why I have so much passion for it," Gattuso said. "It's something I can't let go of, not even for a second.
"Those of who have this job must have respect for it because we're lucky. I want to see people who put passion into it, I want a sense of belonging and respect."
It was a frustrating game for both sides as Juve started better with Meret making a good, early save from a Cristiano Ronaldo shot, but it was Napoli who ended the half better and only some impressive Buffon stops prevented them taking the lead.
Neither side really took control of the game after the break, though Napoli took full advantage of the five changes available, while Sarri -- having been very self-critical of his substitutions in the semifinal second leg -- only used three.
Juve's Federico Bernardeschi needlessly gave away a corner in stoppage time and only a stunning double save from Buffon prevented Napoli sealing a late winner.
The Bianconeri had won the Coppa Italia for four years in a row from 2015 to 2018, while Napoli's last major honour was this trophy in 2014, but it would be a penalty shootout to decide the 2020 final.
Paulo Dybala took the first of the shootout and saw his effort saved by Meret before Lorenzo Insigne coolly slotted past Buffon. Danilo then stepped up, waited, and blazed his effort over the bar and Matteo Politano, on loan from Inter Milan, squeezed his effort in to put Napoli 2-0 ahead in the shootout.
Leonardo Bonucci got Juve off the mark as his effort went in off the bar, but Nikola Maksimovic restored the two-goal lead with a thumping effort. Aaron Ramsey kept the game alive with a cool finish before Milik sealed a 4-2 spot-kick win.
The win puts gloss on what has been a difficult campaign on the whole for Napoli but means they are guaranteed a place in next season's Europa League group stage.
For Juventus, it's a second domestic final defeat of the season following the 3-1 defeat to Lazio, who sit a point behind them in Serie A, in December. Juve also face Lyon in the Champions League round of 16, having lost the first leg 1-0.