The usual solution when you have many commands for a collections of objects is object-selection-action syntax: provide a single non-scroll-away central location for the commands (e.g., a button bar or pulldown menu bar at the top) and provide a means to select and multi-select the items. You can supplement the centralize buttons with accelerators and a context menu (right click) to speed things up for experts. This is typical of desktop GUIs, which tend to be richer than web apps or mobile.
Object-selection-action should be considered when you’ve three or more commands per item –when you start using too much space for commands that could go to data. In this case, you’re right on the threshold, so you may want to reconsider the advantages of staying with separate buttons per object. It might be more familiar to your users if they’ve more experience with web apps than desktop apps, and it allows the user to execute a command on one item with a single click. Object-selection-action takes two clicks to complete a command (select item then a button), although expert users can make up for it if you support range multi-select through dragging or shift-clicking. Users used to web apps may not be expecting object-selection-action, and there is no standard way to indicate that selection is supported (but I’d try simply highlighting the first item on the list by default).