There are a number of reasons for doing this.
Our primary reason is to ensure a safe and friendly playing environment. With online multiplayer games, it has happened that people have used name changing as a way to bully or upset other players.
This could be simply by using inappropriate language or impersonating other players.
Another reason is to maintain familiarity and to make it easier to identify your friends and teammates. If everyone were to change their name frequently, it would be very difficult to keep track of who everyone else is.
By charging for name changes we are discouraging these types of behavior.