Is there any difference between "admonish" and "warn"?

Solution 1:

"Admonish" is a gentle warning, usually coupled with advice.:

To warn or notify of a fault; to reprove gently or kindly, but seriously; to exhort.
To counsel against wrong practices; to caution or advise; to warn against danger or an offense; — followed by of, against, or a subordinate clause.
To instruct or direct; to inform; to notify.

As you can see, the difference is, a warning is just a caution against something dangerous, but an admonishment is usually a warning with an advice.

"Admonish" can also be to "exhort", "exhort" meaning:

To urge; to advise earnestly.

Solution 2:

Modern English is an eclectic mixture of many diverse languages such as Latin, Greek, Old English, French, and Dutch (this list, of course, not being exhaustive). Thus many of our common, everyday words such as good and mom are products of our Anglo-Saxon heritage. Other words come to us from Latin and Greek roots. Warn comes to us from our Anglo-Saxon roots, while Admonish comes to us from our Latin ones. Therefore, the words, over time, took on somewhat varying meanings. Admonish, most likely due to its Latin heritage not only sounds more sophisticated, but is seen as being a more direct or strong way to warn someone.