In short the exact definition of fragmentation is part of the answer.
First, as some have answered, these are from specifications of ethernet and IP (IPv4). Since there are other Layer 2 (Data Link Layer) protocols than ethernet, and assume other uses for ethernet, these standards are written to not be dependent on each other. So the 65535 byte maximum specified for IP might be if Layer 2 supports the IP payload can be as large but might not be able to be larger than 65535 bytes. Over ethernet, the ethernet implementation becomes the limiting factor rather than the specification.
Another factor could be fragmentation. If one implemented a high speed serial cable protocol which supported 65535 byte frames, which was connected to a gateway on an ethernet LAN, then the IP packets in those large frames from the serial cable would have to be fragmented into multiple IP packets and reassembled.
Although the above is a complete direct answer to your question, misconceptions about this area is a pet peeve of mine, so I would like to expound into information you did not ask for to be a more full explanation of how this all works.
Conceptually, communication is modeled on ISO's OSI model, where lower layers encapsulate higher numbered layers. That would give us this concept:
That diagram, however, is incorrect.
Let's consider connecting the ethernet cards of two computers with a twisted pair cable. One computer is running a web server and the other opens a web page from that server. We have HTTP over TCP over IP over ethernet.
The physical layer (layer 1) is the cable which communicates by the cycles of charge on the wire.
The data link layer (layer 2) is ethernet which takes the physical charge service and implements a frame service of broadcasting frames on a LAN, and receiving frames addressed to the appropriate computer. Each of these frames has an ethernet header followed by the frame payload.
The network layer (layer 3) is IP. The IP layer provides an IP packet service, delivering packets over IP hops to the destination address for the packet. This IP packet is encapsulated in the payload of the ethernet frame. In that packet is an IP header, followed by the IP packet payload.
The transport layer (layer 4) is TCP. TCP provides a byte/bit streaming service. Bytes are written at one end and TCP allows them to be read at the other. TCP breaks the stream of those bytes to fit into IP packets. The payload of each of those IP packet payloads starts with a TCP header followed by bytes from the stream.
The headers of ethernet, IP, and TCP are repeated in each frame giving us this diagram:
Next we have the application layer (layer 7) which is HTTP. The HTTP requests and responses have HTTP headers. However, the header is not repeated in every frame. It also can be larger than fits in a single frame. Here the original diagram is wrong.
The answer to your question is that the numbers you quote are from the specifications, which might not match the practical concerns of the particular combination of IP over ethernet. That pair may have an additional restriction limiting the IP packet to a smaller size than the maximum the specification allows.
However, to clarify, you are correct that an IP packet, IP header and IP payload, must fit in an ethernet frame. The TCP segment, TCP header and TCP segment payload, must fit into an IP packet. TCP provides a stream split across IP packets. The HTTP header and request or response body (not to be confused with the body tag) are streamed on TCP which is across multiple IP packets.