When you create an Airtable record “the normal way”, all the non-calculated fields are empty. That means your start date and duration are presumably empty. Depending on how your End Time formula is structured, that could result in either a blank value or an error.
When you duplicate a record (that isn’t “empty”), submit a record via a form or API, or generate a record via Automations/scripts/Zapier/etc., records have values in the relevant fields at the time of creation.
In other words, the reason your Automation is failing is because if your trigger fires when a record is created, but your steps require a value in your fields, you will continue to see failed attempts until you either (a) ensure all new records are created with the necessary fields filled in, or (b) you change your trigger to one that accurately accounts for all fields being filled in.