When may passengers board the aircraft and who makes the decision?
It is a joint decision of the entire flight crew (flight crew consists of pilots and cabin crew).

It is mostly a decision by the most senior flight attendant because it is mostly a cabin issue. The prerequisite is, obviously, the cabin has to be cleaned and prepared. There are "cabin checks" to be carried out when the plane is empty. Typically, each flight attendant will be assigned an area. When everyone reports they're ready, then boarding can begin.

But there are factors from the cockpit that can delay the boarding process too. For example, ATC informs them that takeoff will be delayed for 2 hours. Or a maintenance is being carried out. So, the pilots would always been informed before boarding begins, but in most cases there'd be no objection.