Reeves scored 10 goals in 42 games for Milton Keynes last season, but rejected a new contract at the club.
The 25-year-old Northern Ireland international played under Addicks boss Karl Robinson at Stadium MK between July 2013 and October 2016.
"He is someone that has won a Player of the Year and a promotion with me, so I know him very well," Robinson said.
"I want to thank the board. This was a deal they really wanted to do as well, and it was one that was really backed by the club."
Find all the latest football transfers on our dedicated page.
League One side Charlton Athletic have signed former MK Dons midfielder Ben Reeves on a two-year contract.