His Moral Event Horizon towards the end of the movie could easily have been caused by some off-screen manipulation by the Friends, similar to the way they manipulated Frollo. They might have also been responsible for him managing to find the Beast's castle. The Friends, as part of the spell, made sure the castle couldn't be found (except by lone travelers like Maurice), but knowing the Beast had already softened they decided to allow Gaston to kill him (though, like Frollo, he was a monster all on his own). Monsieur D'Arque, the Asylum keeper, was actually an agent of the Friends, pushing Gaston along his evil path and facilitating his schemes. While the Friends collected Gaston's soul, Chernabog was impressed with just how much evil there was in his heart, and keeps him around as an enforcer.