Таким образом, вы не добавляете эти кнопки в макет.
1) вы не можете присвоить этим кнопкам (или контейнеру / элементу в целом) один и тот же идентификатор. Идентификатор является уникальным идентификатором, поэтому он должен быть уникальным
2) findViewById будет искать в макете три, чтобы найти элемент с этим идентификатором. Если этот элемент не существует (вы не добавляете его в макет), он потерпит неудачу с нулевым указанием исключения.
Что вам нужно сделать, это создать кнопки из вашего Java-кода и добавить их в контейнер (например, LinearLayout).
Итак, вы делаете findViewById и ищите контейнер, затем добавляете View (кнопку) в этот контейнер.
Вам нужен пример кода?