The words are closely related. In general, they both say that "it is hard to make sense" of something. The dictionaries give similar explanations, and in real use, the words are often used interchangeably. I guess, this is not just due to their close semantic proximity, but also due to their lexicologic similarities: They both start with the negation prefix "in-", followed by a syllable indicating a connection ("co-" or "con-"). That is why they are often confused, making the difference blurry. Just from inspecting spoken language, one could make a case and argue that there is no pragmatic difference in most cases.
However, besides this loose meaning, the words also have a stricter meaning, and it is possible to give a clear analytic distinction, a clear definition of the words. (This does not mean, that it would always be easy to apply this definition to real-world sentences.) If you want to be more precise, this is the difference:
A statement is inconsistent if it contains a logical contradiction, be it implied or explicit. This is how the term inconsistent is used in logic and philosophy.[1]An example is for an explicit contradiction is:
It is raining but it is not raining.
The second main clause is a clear logical contradiction to the first main clause.
An example for an implied contradiction is:
I was not able to pick up my million lottery win, because it would have required showing up on a Tuesday at 7pm. But Tuesday evenings I would always go playing snooker. So by no means I was able to make it.
(The implied contradiction here is technically based on the additional premise that picking up a million should be more important to you than keeping up the routine of a hobby like billiards. But that premise is so weak, that most people would see a contradiction implied in the statement.)
Coherence denotes a "state of being connected" (also see cohesion). A statement is incoherent, if semantic relations of parts of speech are vague, or if some references which are crucial for understanding remain unresolved. This is how the word is used in text linguistics and theory of linguistic style.[2], [3] An example is:
Susi and her daughters like green. But he was not there.
Here, the second sentence has some unresolved references. "But" would indicate a logical relation of the second sentence to the first. But it is totally left open, what this relation would be. This is a break of coherence, it is incoherent. Also the referent "he" in the second sentence is incoherent. The first sentence references only persons which are being identified as female. It is not clear, to whom "he" is referring. This is a another lack of coherence. In a similar fashion, it is unclear, what "there" is referring to.
Another example for an incoherent statement is:
First, I wash my hair. Second, I go shopping. And fourth, I go to the gym.
This is obviously raising a question - What do you do third?. Skipping this is breaking coherence.
As you can see, the incoherent statements are in no means logically contradictive, they are not inconsistent in the stricter meaning of the word.
From a logical perspective, one could say that incoherent statements are underspecified - they contain "too little" information to be understood. Adding information might resolve the issue. On the other hand, inconsistent statements are overspecified - they contain "too much" information to make sense. Leaving something out might make the statement consistent.
References:
[1] https://www.wikiwand.com/en/Consistency
[2] https://www.wikiwand.com/en/Coherence_(linguistics)
[3] https://www.linguistik.tu-berlin.de/fileadmin/fg72/PDF/MSF_Publikation/Schwarz_2001b.pdf