Because it's in the CAN spec, as has already been pointed out. Are you asking why the spec limits to 8 bytes? That question may be better directed at the writers of the spec. What difference does it make?
It matters because one of CAN messages I can receive on Vector's CANalyzer has 14 bytes of information in the data field, and I want to receive this through NI USB-8473s in LabVIEW. Does anyone know if this is a NI limitation in some way?