The conclusion of this argument is that John worked M-Th at the insurance company. Why?
Because there were no holidays and he didn't take a vacation, and we know that if there's no holiday or vacation he works 4 days per week at the insurance company. Oh, also, on Fridays he works as a blacksmith. (What a diverse career!)
So, what's the gap(s)? It seems like a strong argument - hard to say! But, probably we've all added in the assumption that the 4 days have to be only during the weekdays - couldn't John work Saturday or Sunday? That's the issue that (D) addresses. Since the question is asking for a necessary assumption, let's use our negation test. If we negate (D), and have John working on Saturday and/or Sunday, since Friday is locked in at the blacksmith shop (smithy?) we'll need to have John take a day off between Monday and Thursday.
Let's look at the wrong answers:
(A) is out of scope - we know that John's not on vacation. Who cares how long he vacations for at other times?
(B) is tempting, but try negating it: at some point last week, John worked a half day. Perhaps that seems like it would disqualify a day, but the argument doesn't talk about full days or half days - for all we know, a half day is fine.
(C) is simlar to (A) - it's about vacations, and we know he didn't vacation that week.
(E) is super tempting! Its negated form seems to suggest that perhaps John worked Friday both as a blacksmith and an insurance agent. But, it actually doesn't specifically suggest that. If we negate (E) we learn that there were some days on which John worked both jobs. Which day? If it was Friday, that'd be a problem for our argument. But, if it were Tuesday, who cares? Then it'd be that John did insurance M-Th, and worked as a blacksmith Tuesday and Friday.
We need the negated form of a necessary assumption to do more than simply open up an opportunity to destroy the argument, we need it to definitively destroy the argument. In this case, it's OK if John does a double shift; it would not be OK if he did a double shift on Friday - but (E) doesn't tell us about Friday.