I earned the python badge 2 days ago, now I can't find it in my profile. User name summary says I have 13 badges, but my badge list in my profile only shows 12.
Where is my missing badge? :'(
Tag badges can be removed as well as awarded.
So if you fall below the threshold - 20+ answers with 100+ score - then the badge will be removed.
So if an answer was deleted (due to question migration or other deletion) or you received a down-vote or someone took away an up-vote you'd lose the badge. You can tell from the tags part of your profile what your score is and how many qualifying answers you've provided.
Once you hit the threshold again the badge will return.
As to why the numbers don't match - caching.