Section 1 of the GPLv2 contains: "keep intact all the notices that refer
to this License".
Yes, but that only applies to verbatim copies. Section 2 explicitly allows you to distribute modified versions (and isn't incorporation into a larger code body always a modification?) as long as the whole is licensed under the terms of the GPL. The GPLv3 is much clearer on this, saying 'The work must carry prominent notices stating that it is released under this License [...]. This requirement modifies the requirement in section 4 [the equivalent to section 1 in v2] to “keep intact all notices”.' about modified works. Unfortunately we are using v2, but I'm assuming this is just a clarification of the same terms.
I mean, just from a common sense perspective (although I know we are dealing with legal issues...), we all agree that it's okay to copy a single function from one GPL file to another without copying the whole license header, right (because we're doing that all the time)? So where is the difference between that and making a new file with your own (GPL-compliant) header and copying every function from another file into there? The copyright is still owned by the original author, but the license he grants you for using that code allows you to reuse and modify it however you like, including removing his original copyright notice (as long as you still adhere to the general attribution and licensing requirements of the GPL).
(FWIW I think we should keep lines of the form "Copyright <year> <author>" intact anyway, but just as a courtesy, not because we're legally obligated. An the big blob with the FSF street address below can definitely be changed.)