Is there any difference? As a non-native speaker, I sometimes have difficulty understanding the tenses. It seems to me that both are right.
Probably both are possible.
The sentences are indirect quotations, which are easiest to understand if you relate them to what was originally spoken. If what he said was "I see the accident" (he sees it as it is happening), the indirect quote corresponding is "He insisted he saw the accident", where the change from "see" to "saw", called time-shifting, is to make the verb agree in tense with the tense of "insisted".
If what he said was "I saw the accident", then there is some choice about the report of this in indirect speech. In a relatively conservative dialect like mine, the report would be "He insisted he had seen the accident", where the perfect "have" of "had seen" corresponds to the past tense of "saw" in his earlier speech, and the past tense of the "had" corresponds to the past tense of "insisted". This is sometimes called a past within a past, since the past time at which he did the seeing was previous to the past time at which the insisting took place.
In a less conservative dialect, or less formally, you get a simple past tense in the indirect quotation.
There are other cases where a logical past tense is realized as perfect "have" when the past is in a grammatical position that does not permit an ordinary morphological past tense. For instance, "He may have left" means that it is possible he left. But you can't say *"He may left" with a simple past tense, because that is not allowed after a modal auxiliary, like "may".
Both of these sentences are made up of two clauses. Formally there should be a "that" separating the clauses, although it is sometimes left out when people speak. Thus, they should look like this:
He insisted that he saw the accident.
He insisted that he had seen the accident.
It depends what 'he' said in the first place.
If he said "Hey! I see the accident! I really do!" this would be reported as "He insisted that he saw the accident" on the principle of back-shifting the tense.
If he said "Really...I saw the accident yesterday" this would be reported as "He insisted he had seen the accident".
Back-shifting the tenses, in very simple terms, means that a present simple statement is reported in past simple (because the original statement is now in the past), and a past simple statement, and pretty much everything else, gets reported in past perfect because that is basically 'the past of the past'.