However, non-competes for lawyers are more limited in scope--they only apply to partners, and only to specific areas of legal practice. Generally, the non-compete can only prohibit the lawyer from marketing or soliciting clients but does not prevent new or former clients from voluntarily choosing to hire that lawyer (and the lawyer agreeing to take on that client). The big exception relates to sales of a law practice--in that situation, the lawyer generally can't take on new or former clients in the same area of law as they sold.
A lawyer shall not participate in offering or making:
(a) a partnership, shareholders, operating, employment, or other similar type of agreement that restricts the right of a lawyer to practice after termination of the relationship, except an agreement concerning benefits upon retirement; or
(b) an agreement in which a restriction on the lawyer's right to practice is part of the settlement of a client controversy.
49 of the 50 states have adopted their own version of the ABA rule prohibiting non-competes in the practice of law. In fact in Florida if an associate leaves a firm, for every file the associate worked on, said associate must notice each client of their right to continue representation with the firm or the associate, of course the associate can not be forced to accept any client(s). Your examples of non-solicitation is generally true, but there is a difference between non-solicitation and non-compete under the rule, especially against a partner who sold the practice or retired.
Enforcement of non-competes in any jurisdiction is a complex analysis, where the scope, term and geographic restriction must be applied to a given job/industry. A general problem (from both employer/employee perspectives) is that people assume because they exist they are enforceable, it would lead me to believe people would be surprised how often, when challenged, they are found to to unenforceable.