Ciao, stai creando gli id sempre uguali.
Lasciando da parte il fatto che potrebbero esserci modi migliori per creare robe del genere, questo è una bozza di esempio:
codice:
<div class="contenitore">
<div class="container">
  <div class="row">  
<div class="col-lg-2">
          <div class="form-group">
                  <div class="input-group date">
                    <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
                      <input class="form-control" />
                  </div>
              </div>
    <div class="col-lg-1">
      <a href="javascript:nuovodiv('click');"><button type="button" class="btn btn-success" id="click"><span class="glyphicon glyphicon-plus"></span></button></a>
  </div>
    </div>
      </div>
      </div>
    </div>




var c = 1;
function nuovodiv(nome) { 
    $('#'+nome).hide();
    var id = nome.replace((c-1).toString(),'')+c.toString();    
    var link = "javascript:nuovodiv('"+id+"');"    
    c++;
        $('.contenitore').append('<div class="col-lg-2"><div class="form-group"><div class="input-group date"><span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span><input class="form-control" /></div></div></div><div class="col-lg-2"><a href="'+link+'"><button type="button" class="btn btn-success" id='+id+'><span class="glyphicon glyphicon-plus"></span></button></a></div></div></div>');
}
in pratica non fai altro che creare l'elemento, aggiungere un progressivo all'id e impostare il nome corrispondente nel parametro della funzione, facendo in modo che il bottone con progressivo precedente venga nascosto quando ne viene creato uno nuovo.
Ma scusa non facevi prima a tenere un solo bottone? perché nascondere il precedente e crearne uno nuovo con la stessa funzione?