You could make a copy of the dataset (or a view that is a copy of the dataset) and either change the names to be lowercase.
data for_csv;
retain name age;
set temp;
run;
or attach labels using the lowercase version of the names and use the labels as the column headers.
But since CSV files are trivial to write yourself you could do that. Which means you can add aline to convert the names to lowercase before writing them.
proc transpose data=temp(obs=0) out=names;
var _all_;
run;
data _null_;
file '/out/temp.csv' dsd ;
set names;
_name_=lowcase(_name_;
put _name_ @;
run;
data _null_;
set temp;
file '/out/temp.csv' dsd mod ;
put (_all_) (+0);
run;