Each call to fputcsv
writes another line to the file. If you want the line to have two columns, it must be an array with two elements. You're creating two arrays, each with one element, and writing them separately.
foreach( $catresults as $catresult ) {
$row = array($catresult->name, $catresult->term_id);
fputcsv($handle, $row);
}