Count values in column on join then group by
Without seeing the schema I've had to guess but it seems that you just need to add the Badge_Name to the SELECT list and the GROUP BY, like this:

SELECT t2.displayname AS UserName, t1.Badge_Name,
       Count(t1.id) AS TotalNumberOfBadges 
FROM   badges t1 
       join users t2 
         ON t2.id = t1.userid 
GROUP  BY t2.displayname, t1.Badge_Name
ORDER  BY t2.id; 


If your badges table contains a different column name for the name of the badge you will have to sub that in for where I've used Badge_Name.