Ci sono diverse cose che non vanno.
1) Prima di tutto, visto che il contenuto del form viene inviato alla pagina stessa in cui il form è contenuto, la prima volta che accedi alla pagina tutto il codice PHP all'inizio viene eseguito e non ha senso che lo sia, non ci sono dati da usare.
Il problema è che dovresti verificare se l'array $_POST è inizializzato, solo in tal caso devi eseguire il codice PHP, perché se non lo fosse vorrebbe dire che non è ancora stato fatto il submit del form. Devi mettere un if all'inizio che verifichi questa situazione ed eseguire l'invio solo se $_POST ha dei dati.

2)
Codice PHP:
$default = [
'name' => '',
'email' => '',
'message' => '',
'address' => '',
'url' => '',
// Qui aggiungerai tutti gli altri valori di default
];

$_POST array_replace$default$_POST ); 
Questo codice è inutile, visto che poi $default non lo usi da nessuna parte

3)
Codice PHP:
$field_name $_POST['name'];
$field_email $_POST['email'];
$field_message $_POST['message'];
$field_address $_POST['address'];
$url $_POST['url']; 
Anche questo codice è inutile, dato che assegni i valori di $_POST['...'] senza manipolarli in alcun modo hai solo variabili duplicate contenenti gli stessi identici valori, puoi usare direttamente $_POST['name'] ecc... dove ora usi $field_name ecc...

4)
Codice PHP:
$delay "4";
$url "https://www.google.com"
Queste sono altre variabili inutili che non usi.

Comincia col fare un po' di pulizia, avrai meno della metà del codice.