Having read a handful of such answers but not satisfied with any of these, I told the person asking me the question: 1. the etymology of the two words differs; 2. in general usage, "liberty" is more abstract and philosophical than "freedom". Other than these two points, there is no difference, but in different contexts, only one of the two words is more common. For example, nowadays we say "freedom of speech", not "liberty of speech". (But see the ngram figure in Appendix 1.) We say "Liberty, Equality, Fraternity", not "Freedom, Equality, Fraternity". These set phrases are by convention, just as in Chinese idiom "破釜沉舟" ("cut off all means of retreat", "decide to fight to death"), not "破釜沉船", even though "舟" and "船" are completely synonymous.
Making distinctions between words is so intriguing that someone even builds a Web site www.differencebetween.net dedicated to this task. Language professionals and general public alike are fond of writing articles on these topics. While many such articles are valuable contributions to the correct usage in English, there is one common deficiency not fully recognized: the judges are the native speakers of the language, not linguists or scholars. An age-old debate among lexicographers is relevant here: Should a dictionary be prescriptive, directing people toward correct or supposedly correct usage, or be descriptive, faithfully documenting the actual usage in the native speaker community? Nowadays there may be more dictionaries in the latter category, presumably consistent with the increased level of public education. In the case of "freedom" vs. "liberty", if enough people, not English-as-a-foreign-language learners but native speakers, ask the question about their difference, the very fact that they ask this is a sign that the distinction, if there is a theoretical one, hardly exists in practice. Instead of making a great effort to separate them, it would be better to acknowledge, in modesty, the lack of difference between them.
The prescriptive-descriptive dichotomy, however, only applies to everyday language usage. In academic fields, especially of science and technology, but to some extent, of social sciences and humanities as well, the "prescriptive" approach should be supported. Take osteoarthritis as an example. An educated English speaker would think this meant inflammation (-itis) of bone (osteo-) joint (-arthr-). But it is not. Then, should the distinction between "freedom" and "liberty", if non-existing in practice, be made in the academic circle as two different terms in social sciences or humanities, followed by educative admonition to the public about the research outcome? Scholars have the freedom of research and can make any distinction between any pair of words in their research. In fact, social scientists and particularly philosophers habitually do that. As to whether the distinction should be imposed to the public, No!
This figure is the Google ngram showing the historical usage of "freedom of speech" and "liberty of speech". We can see that from the mid-19th century on, "freedom of speech" has significantly gained in usage over "liberty of speech". But before that time, it only had slightly higher usage frequency.
Some Weibo users gave me a few helpful pointers on this topic. One user informed me that political theorist and philosopher Isaiah Berlin's Four Essays on Liberty used "freedom" and "liberty" interchangeably. Two other users directed me to political scientist Hanna Pitkin's Are Freedom and Liberty Twins? According to Pitkin, most people don't make a distinction between these two terms, but Hannah Arendt is an exception. However, the author questioned Arendt's distinction from the point of view of political science as well as etymology (see the bottom of p.6 and p.9 of the article).