Both are grammatically admissible, but they produce very different sentences.
First, the choice of tenses in English depends on the point picked to be ‘now’. For example:
- The kid runs around looking for the toy he lost. (Now = time of running.)
- The kid ran around looking for the toy he had lost. (Now = after the running around)
- The kid will run around looking for the toy he lost. (Now = a time between losing and running around)
In your example, it appears that you’ve chosen the ‘actual present’ (or at least, the time the claim was made) as your ‘now’.
If you use have, the natural parsing would be that “today” refers to the extended present. That is, last year or the next decade could be included, so long as circumstances haven’t changed too much in between, and so long as it doesn’t extend to the time of the referenced “future”.
If you use had, you’re referencing a time prior to the ‘present’. The period that is simultaneously “today” and in the past is the window between yesterday and now, that is, any time ‘earlier in the day’. The sense of the sentence is that people in the future wonder why there were so many accidents happened earlier that day.