Well, there are some differences in meaning. "Interaction" is when two (or more) things react to each other, and this may not be in conversation. A "discourse" can be one-sided: it simply refers to the communication of thought by the use of spoken words.
The general question is: Why does English have synonyms? And the answer is: There is no reason for it not to.
Nobody ever sat down with some parchment and a pen and decide to invent an English language. Rather, English evolved, and as England was invaded by various people speaking different languages, so the English language acquired a lot of extra words. We have words from Danish, Norman French and Latin, for example.
Sometimes only one of the words survived, but often they continued to exist side by side. But there are usually differences between them; so, "jump" and "spring" are synonyms, but "spring" conveys a greater sense of liveliness.
Generally speaking (but not always), longer, Latin-based words are considered more formal. So you will see "discourse" used in very formal situations, but "talk" or "speech" in most other situations.