Ahh, tricky one.
Hmm, after some 20 min reading and some 15 min testing in a lab, I got to the below conclusion.
So, "need to read and change/create events in calendar for ALL users" - the easy way out is to go with the App role (which would be choice B).
Buut, the least privileged access would be to have Delegated role, which would still be able to read/create those calendar events for all users, but it's going to be un-behalf of the user (having the access limitations of the user - if the user should have any) which is more secure - aka least privileged concept.
These 2 articles are covering the topic well:
https://learn.microsoft.com/en-us/graph/auth/auth-concepts#microsoft-graph-permissions
https://learn.microsoft.com/en-us/graph/permissions-overview?tabs=http
Soo, I would go with A here (Delegated role), based on the above reasoning, but take it with a grain of salt, I may be wrong, I hope I'm not cuz that's what I am gonna chose if this question pops up. :D