On means about. It explains the reason of the pride, so "he prides himself on being a good listener" means the reason of his pride is being a good listener. Similar is "I congratulated him on his new job" where on explains the reason of the congratulation.
On is certainly the best and safest choice. I'm not sure if about would be considered correct in this context. Now, you might ask, why does this expression sound natural with on but not with about? The answer is: It is just the way the language is, and this can be said of almost any other language. Often times, why a single word collocates with another is based on practice rather than reason. However, it can be argued that on is better here because it has the additional nuance of basing his pride on being a good listener. So, it not only means about but it also tells us about the foundation of his pride.