When you have `Defaults(datasourcename)` as the second parameter of the Patch function, it will always create a new record - which is why you're seeing many new records in your list.
If you want to have only one record auto-submitted (via the timer), you can store the current record to be stored in a variable, whose initial value would be `Defaults(datasourcename)` - so that the first time it will create a new record. But afterwards, you need to have that record that was created, so you'll be updating that record instead of creating a new one.
For example, in the OnVisible property of the first screen you can have the following expression:
Set(currentRecord, Defaults(datasourcename))
In the timer end, you can patch the current record - and update the current record with the result of Patch.
Set(
currentRecord,
Patch(
datasourcename,
currentRecord,
EditForm1.Updates,
EditForm2.Updates))