How can I remove the header information which shows the name of image editing software? I want to "clean" the metadata from a JPG file so that nobody knows that image has been edited and appears as it came directly from the camera.
That information is stored metadata headers inside the JPEG file. There are a few different kinds of JPEG metadata but the most commonly used ones are the Exif and IPTC headers.
How to remove them depends on the software you're using. In Lightroom you can remove metadata during export by checking Minimize Embedded Metadata in the Metadata panel (or for finer-grained control there's Jeffrey Friedl's Metadata Wrangler plugin). There are also plenty of third-party apps such as Exif Tag Remover that will remove this information from a JPEG.
The easiest option of course would be to use an editor that does not alter metainfo. I often use XnView for simple corrections and haven't noticed any differences in metainfo (except thumbnail and width/height, which get updated according to main image). I'm sure there are other editors, and you could disable altering metadata in some editors.
However, when using an editor does alter metadata, you'd need to restore it. Most tools that remove metadata are not suitable for this task, as there is some metadata in images coming from camera; simply removing it would make it obvious that the image has been tampered with.
I'd suggest the best solution would be to copy metadata from original file, e.g. with ExifTool:
exiftool -TagsFromFile original.jpg edited.jpg
If you have a fancy camera that signs images, then it would be wise to turn that function off first, or else you'd need to recalculate image signature using manufacturer's secret key. I'm pretty sure you won't get those keys from this site, but in his comment, @mattdm has referred to a document giving hints on how to go about forging Canon signatures.