You don't need one field for each field's timestamp. Just one field for all of them. You also don't have to manually add any code to the fields. This can all be done with a script that places the necessary code into the fields.
To detect when a field is changed, the best event is the Validate event, which is only called when a field's value is changed. If you wanted to detect when a field is touched, meaning the user typed into a field, as opposed to actually changing the field, then you'd use the Keystroke event. The Blur event is fired when a field looses focus. This event could be fired when the user is just tabbing through the fields and does not intend to change it. All fields have these events, even if you can't enter code in them from the Acrobat UI. But a script can put code in the these events for all fields.
As for digital signatures and the change info, whenever you save s PDF, Acrobat appends the changes to the end of the file. So there is a record of all modifications going back to the first time the file was cleanly saved. The modification time for the individual fields is not saved, but rather the last time the document is saved, is saved. I'm not sure of the exact details, but I'm sure you can find out all about it in the PDF specification document and Acrobat's SDK guides. As Leonard said earlier, you'd need to write a plug-in or some other program much more sophisticated than Acrobat JavaScript to acquire this information. The Python SDK may be sufficient if it can drill down to the COS level. Be warned, it can be quite complex.
That said, you can certify a PDF with a digital signature, and allow form fields to be filled. I have not experimented with this process much, but the JavaScript model does provide a way to got all the changes since a document has been signed. However, I don't know if level of detail would match what you are looking for, or if form fields would even be reported if the certification is set to allow them.