the buttons are based on the id of the underlying html element on the page i.e the fysical button. Two important concepts of all elements are its id, which should always be unique and its class, of which there can be more than one. As the button uses the id there can be only one. Depending on how many additional buttons you need several options exist. An easy one is to simply duplicate some code parts but and attach them to different buttons using a single label, so for the user they look the same. Or place your code in server.r and wrap it into an observer like so:
observer({
input$buttonid1
input$buttonid2
input$buttonid3
....your repeat code here .....
})
The ids are the unique ids of the action buttons, each must be unique If you press any of these the code gets run.
A even more powerful approach would be to use classes and use jQuery (JavaScript). See here how to grab items based on a class or id:
http://learn.jquery.com/using-jquery-core/faq/how-do-i-select-an-item-using-class-or-id/
This is how you can relate it to shiny
http://ryouready.wordpress.com/2013/11/20/sending-data-from-client-to-server-and-back-using-shiny/
In relation to buttons you may want to use shinyBS which add some nice features to shiny based on Bootstrap:
http://spark.rstudio.com/johnharrison/shinyBS-Demo/
http://cran.r-project.org/web/packages/shinyBS/index.html
Best Herman