Instead of comparing the four options side by side, let's derive the indirect form directly from the narration rules and then find the matching option.
Direct sentence: She said to him, "Why don't you go today?"
Step 1: The reporting verb "said to him" changes to "asked him" because the quoted sentence is a question, not a statement.
Step 2: The question word "why" is kept as the link between the two clauses; no "that" is inserted after it, and the question mark is dropped.
Step 3: The auxiliary verb tense moves one step into the past: "don't go" (simple present negative) becomes "did not go" (simple past negative).
Step 4: The pronoun "you" refers to the person being spoken to, so it becomes "he" from the reporter's point of view.
Step 5: The time word "today" is tied to the moment of the original conversation, so in reported speech it becomes "that day".
Combining all five steps gives: "She asked him why he did not go that day", which matches option D exactly.
Let's summarize:
Building the sentence step by step, rather than only scanning the choices, makes it easy to see why option D is the only fully correct version.