The kernel isn't requiring the driver be GPL.
Nvidias driver straight up violated the license by talking to parts of the kernel it wasn't legally allowed to talk to, by shipping its own tiny open source shim to sit between the proprietary and open source parts they wanted to illegally have interoperate.
This is a case of nvidia straight up actually breaking the law with a literal hack. Prompting linux into implementing new security measures.