First and foremost: Antennas and hardware in general. It's one thing to maintain a multi-channel 500mbps connection within 10-20 feet, let alone doing it with multiple devices simultaneously connected to other multiple devices. Even if you scale the speed down, the consumer grade hardware out there isn't targeting this use case.
Second: Protocols. If we had the hardware, the whole mesh has to be trustless while being affected as little as possible by connectivity and pathing overhead. Plus backwards compatible with existing infrastructure (which is less hard I guess).
Third: Gatekeepers. If you get them on board, creating the mesh as a natural extension of the internet becomes easy. Since they invariably won't be on board, it'll be that much harder.