I would assume the starter as cause.
The starter works in two steps (I assume that this has not changed with today's starters):
Step 1: The gear wheel of the starter is engaged in the gear wheel to be driven ("click" - if nothing happens at all, the engagement mechanism is defective). A contact is actuated which triggers step 2.
Step 2: The starter turns and drives the engine.
If step 2 does not start, step 1 has not been completed successfully. This can have several causes:
The contact that triggers step 2 is not closed (starter gear does not reach the end position) or is defective.
A new battery provides a higher voltage and thus increases the force with which the starter gear is engaged. But I would see that as fighting the symptom and not the cause.
A slight movement of the transmission (moving the vehicle) can lead to better alignment of the two gears and facilitate the engagement process.
I have also experienced that a sensitive blow at the right moment on the starter with a hammer solves the problem (temporarily).
In my experience, the solution is usually a new starter.
In any case: goog luck!