Why Do You Grok? A Theoretical Analysis of Grokking Modular Addition