$ split -l 5000 users.csv ./split-files
5000 is the number of lines you want for each file.)
$ cd ./split-files
$ for f in *; do echo mv "$f" "$f.csv"; done
for i in *.csv; do sed -i '' '1i\
First column name, Second column name, etc, etc
' $i; done
The echo prints the name change instead of renaming it.
It can be simply
for f in *; do mv "$f" "$f.csv"; done
to rename the csv