But I knew that there is no reputation earned on meta. Then how are these badges earned?
There is no visible reputation earned on per-site metas. But since their code has a lot in common with the main site code, some processes function in essentially the same way. So, the system still tallies up the points "received" from upvotes, etc, and awards badges accordingly.