Which text clustering algorithms should I use to group free text fields in Python?
That is called "entity resolution" or "record linkage". It is a very hard problem. 

If it all possible, I would try to add "type ahead" to the form. That would encourage users to select already used categories.

fuzzywuzzy is a Python package for approximate string matching.

dedupe is "a Python library that uses machine learning to perform fuzzy matching, deduplication, and entity resolution quickly on structured data."