Použijte MERGE
Vaše SQL se nezdaří, protože 2 souběžná překrývající se a velmi blízká volání dostanou obě "false" z EXISTS, než dojde k INSERT. Oba se tedy pokusí INSERT a jeden samozřejmě selže.
Více je to vysvětleno zde:Výběr/vložení verze Upsert:existuje návrhový vzor pro vysokou souběžnost? Tato odpověď je však stará a platí před přidáním MERGE