Code:
SetFont("AchievementFont_Small",GMFONTS["B"], 12)
The first parameter of your local SetFont function is supposed to be a FontString widget rather than the font itself.
Code:
SetFont(Frame.FontStringWidget, "AchievementFont_Small",GMFONTS["B"], 12)