English does not have a precise word for the opposite of sin in the sense you mean, so you'll have to be content with adjectives: the opposite of "I committed a sin" would be "I performed a good/virtuous/righteous/moral/meritorious act/deed". (Note that the noun forms of these adjectives won't work: goodness has a very wide range of meanings; virtue refers to qualities inhering in a person and carries no connotation of action unlike virtuous act which does, etc.)
As you're writing for an Indian audience, the word you have in mind that's already familiar to your audience (puṇya) is a perfectly good choice to use. The criterion should not be whether a certain word exists in an English dictionary or not, but whether your audience will understand the word or not.
Further thoughts: English doesn't have have a word for the opposite of sin, because sin is a religious concept, and mainstream Christianity doesn't have a concept that's the opposite of sin; neither have English speakers found it necessary (yet? :p) to invent a word for the concept. In a non-religious framework for ethics, of course, there is no such thing as sin either; though certain acts may still be called unethical or wrong or by other terms.
I'm no expert on Christian theology, but it seems that according to that framework, one is born in a state of some sin, and although one can commit further sins (acts against God's commandments), one cannot automatically reduce the effect of those sins simply by performing other good acts. Judaism has a concept of mitzvah, an act that carries out a commandment of God, which may be an opposite of sin in that sense. The concept you may be getting at, prominent in Indian religions (Hindu/Buddhist/Jain/Sikh) comes from a different model, in which there's something like a moral bank balance (karma) in which you can either lose credit through sin (pāpa, acts against some cosmic order of right and wrong) or gain credit/merit through good deeds (puṇya).
All that is not important, but if by the opposite of sin you're referring to something like the latter concept as informally understood by your audience—with a slight theological connotation as something that brings merit to the doer—then the term puṇya you were thinking of is precisely the right term to use. Using a generic phrase like "good deed" may not convey the intended meaning unless the context is understood (such as in translations etc., where "good deed" and "meritorious act" are indeed used).
The problem with asking for an antonym is that most words have more than one nuance or meaning, so antonyms can branch off into more than one direction – and sometimes even several.
In the case of addiction, I can think of at least two senses of the word:
There's addiction as a chemical, biological, or psychological dependency, usually regarded as detrimental to one's well-being (e.g., drug addiction, sex addiction, gambling addiction).
Then there's addiction used in a less scientific way, where it describes more of a rabid obsession than a true dependency (as in, addicted to fishing, golf, or romance novels).
The NOAD describes it like this:
So, as for antonyms: when talking about the latter usage, we might try words like:
indifference, apathy, disinterest
Bob is addicted to bowling, but his wife Mary is indifferent about it.
My daughter had a Pokemon addiction in grade school, but she finally grew out of it, and feels only apathy now.
But when we are talking about the former usage – such as someone's bout with alcoholism, or struggle to quit smoking – words like disinterest and dispassion don't work very well as antonyms. I'm more inclined to suggest words like:
independence, autonomy, freedom
Paul has been free from his nicotine addiction for six years now.
I thought Mary had finally gained independence from her alcoholism, but it seems like she can't stay on the wagon.
Best Answer
I think egosyntonic comes reasonably close:
Its counterpart is egodystonic.