None of this requires multiple files, either in theory or in practice. It may be a limitation of a particular implementation but that is a design choice. There are functional advantages to not splitting up files unnecessarily when processing queries.
Spec compliant CSV parsing cannot be done in parallel iirc. Most CSV parsers are not spec compliant, but splitting up CSVs is one way to read them in parallel while ensuring you can still use a spec compliant parser.