Short answer: pilots need flight visibility, ATC needs ground visibility.
There are two different definitions of visibility in the regulations you mentioned: flight visibility and ground visibility. They're defined in 14 CFR 1.1:
Flight visibility means the average forward horizontal distance, from the cockpit of an aircraft in flight, at which prominent
unlighted objects may be seen and identified by day and prominent
lighted objects may be seen and identified by night.
Ground visibility means prevailing horizontal visibility near the earth's surface as reported by the United States National Weather
Service or an accredited observer.
The practical difference is that only pilots can determine flight visibility; ATC and/or ground stations (AWOS/ASOS) determine ground visibility. The regulations aren't redundant because they're talking about different things and also about different needs:
- 91.155(a) applies to all airspace. At 5000' (or whatever), only flight visibility makes sense to determine if conditions are VFR.
- 91.155(d) applies to terminal (airport) airspace. That means ATC is also very interested in whether conditions are VFR or not, and they can only work with ground visibility.
Note that the full text of 91.155(d) also covers the case of uncontrolled airports with no weather reporting (emphasis mine):
(d) Except as provided in §91.157 of this part, no person may take off
or land an aircraft, or enter the traffic pattern of an airport, under
VFR, within the lateral boundaries of the surface areas of Class B,
Class C, Class D, or Class E airspace designated for an airport—
(1) Unless ground visibility at that airport is at least 3 statute
miles; or
(2) If ground visibility is not reported at that airport, unless
flight visibility during landing or takeoff, or while operating in the
traffic pattern is at least 3 statute miles.