That is because your selector .layer
returns multiple elements after your first addition and hence it will add one for each of them, So use .layer:last
Try:
$('<div class="layer selectedLayer" data-arc="1100">New Layer</div>').insertAfter('.layer:last');