Following examples on other Stackoverflow posts related to word frequency analysis in Python, my program is returning letter frequency analysis and not actually the word.
contents is a string, and strings in Python are iterable (i.e. strings behave like lists of letters in this context) so your Counter is counting letters.
You need to pass the Counter a list of words, not a string of letters.
Joran's answer shows how to do this using split().