Because for example "beam" matches [^g-z]. That is, it has a letter somewhere that is not between g and z (namely e and a). I came up with ^[a-f]+$ but I'm guessing it could be shorter :)
Edit: ah, every word in left column has 4 a-f letters. So [a-f]{4} is a shorter match.