Absolutely nothing wrong with a reasonable non-compete clause. Depending upon the type of work and the industry, ti is patently unfair for a company to train you in proprietary methodologies and such and they have you take that to a competitor. The key is reasonable.
Unpaid internships are not something on which they will be able to enforce a non-compete…maybe it could keep you from taking another unpaid internship at a competitor…as UCB mentioned above, the cost is not likely worth it. The converse, however, is true as well. If you get a job with a competitor, they will most likely never know or care…unless you are in a high profile role.