What's the relationship between "free theorems" and "free objects" What's the relationship between free theorems and free objects from algebra. They seem quite similar. I'm wondering if there's an underlying principle here.
There is no relationship.  They both use the word "free", but with different meanings of the word "free".  It's just an accidental collision, which will happen when you have a language like English with a fixed number of words and the number of concepts we want to talk about exceeds the number of words in the language.

A free group is, roughly, a group that is about as generic as possible (it has no special structure).  Here, the word free means "having no non-trivial strucutre", i.e., free of special equalities. 

In contrast, a free theorem about some code (e.g., a function) is one that follows automatically from the type signature of that code.  Here, the word free means "at no cost" or "with no extra reasoning about the code required"; it's an automatic consequence of the type signature, regardless of the implementation/code of the function.