Can spandsp send a header on each page of a FAX, like most FAX machines do?

Yes, if the application using spandsp supports this. For example, in Callweaver if the variable LOCALHEADERINFO has been set when txfax is run, the value of that variable will be used as the user defined part of the header text. The page number, date and time, and calling FAX ID will be filled in by the software to make a complete header line, of the kind produced by most FAX machines. The time-zone of the date and time for the page headers can be controlled on a FAX by FAX basis.