A. An Apex Trigger should be logic-less and delegate the logic responsibilities to a handler class.
B. A single Apex Trigger is all you need for each object.
A single Apex Trigger is all you need for one particular object. If you develop multiple Triggers for a single object, you have no way of controlling the order of execution if those Triggers can run in the same contexts. Another widely-recognized best practice is to make your Triggers logic-less. That means, the role of the Trigger is just to delegate the logic responsibilities to some other handler class.