Sri Lankan cricket has hit a new low with corruption and match-fixing scandals in recent times.
Earlier, the ICC had announced an unprecedented 15-day amnesty in relation to the investigation into corruption in Sri Lanka.
In February, legend Sanath Jayasuriya was banned from cricket for a period of two years.
The fresh charges on Zoysa and Gunawardene are part of a wider investigation.
Fourth count for the tainted Zoysa
Former left-arm fast bowler Zoysa, 40, was suspended by the ICC for three breaches of the anti-corruption code in November last year.
This was his fourth count in relation to breaching the anti-corruption code.
It includes "being party to an agreement to influence improperly the result, progress, conduct or other aspect(s) of a match" and failing to co-operate with the investigation conducted.
Gunawardene has been charged with two counts
Meanwhile, 41-year-old former opening batsman Gunawardene has been charged with two breaches, including "directly or indirectly soliciting, inducing, enticing, instructing, persuading, encouraging or intentionally facilitating any participant" to fix a match.
Gunawardene, who played six Test matches and 61 ODIs between 1999 and 2006, was earlier appointed Sri Lanka's interim batting coach this year.
Both these players have been provisionally suspended.
What is the amnesty that was launched by ICC?
The amnesty was the first of its kind held by cricket's world governing body back in January.
"This is the first time the ICC has held an amnesty and it is in response to the very specific challenges we face in Sri Lanka," said Alex Marshall, ICC's GM.
The amnesty applies to anybody who comes under the ICC's and Sri Lanka Cricket's anti-corruption codes.
Key details about the codes
Under the codes, players are obliged to "report, without delay, full details of any approaches, incident or information that they receive to engage in corrupt conduct". Meanwhile, failure to do so is a serious offence. Jayasuriya had breached two codes of the ICC's anti-corruption code.