Solution:
Initially, all players are in a cycle. Note that once a player leaves the cycle, they cannot rejoin. Furthermore, a new cycle cannot be created. Hence, at any point in time, the graph corresponding to the votes will be a functional graph with a single cycle.
We will first prove that after ⌊log2n⌋ rounds, the cycle will become a self-loop. Then, we will show that in the next ⌊log2n⌋ rounds, all other players vote for the player in the self-loop.
To show the first step, assume the cycle has size K>1 at the beginning of a round. Consider arbitrary player a in the cycle who is updating their vote. Say a→b→c, all in the cycle. Then a→c now, bumping b out of the cycle and reducing its size to K−1. Note that b can now update their vote as well without affecting the size of the cycle. If we consider all K original players in the cycle, we see that at least ⌈2K⌉ of them must still be in the cycle at the time of their update, and hence the cycle's size is reduced to at most ⌊2K⌋. After ⌊log2n⌋ rounds, the cycle must be reduced to size 1.
Now that the cycle has been reduced to a single player, say z, consider any path from a player a to z. No players can be added to this path now. With a similar argument as the cycle, the length of the path must halve each round. In particular, a path of length L to the cycle gets reduced to length ⌈2L⌉ (note the ceiling, we had the floor for the cycle). After ⌊log2n⌋ rounds, the path must be reduced to length 1.
Thus, after ⌊log2n⌋+⌊log2n⌋ rounds, the graph has been completely reduced. For n≥5, ⌊log2n⌋+⌊log2n⌋≤2⌊log2n⌋+1≤n. For the other n, we can manually check that ⌊log2n⌋+⌈log2n⌉≤n.
We will use induction on n.
Inductive Hypothesis. Let G be any functional graph with n nodes and a single cycle. Then after n rounds of the given operation, G will become a self-loop with n−1 nodes pointing to it.
Base Case. The cases n≤2 are clear.
Inductive Step. Assume that the hypothesis is proved for n=k−1 and n=k−2. We will prove it for n=k. Consider any initial functional graph with k nodes and a single cycle. Note there is some node a which has in-degree 0 (i.e. no nodes point to it), or all k nodes are in the cycle.
In the first case, consider G∖{a}. Note that all operations except a's own updates are independent of where a is. By the inductive hypothesis, after k−1 rounds, G∖{a} has become a single self-loop and k−2 nodes pointing to it. Regardless of where a is, it will point to the self-loop after one more round and we are done.
In the case where all k nodes are in a cycle, consider the very first operation z→a→b⟹z→b,a→b. This creates a zero in-degree node a, but z's operation has been used for the first round so the inductive hypothesis cannot be naively applied. Instead, consider b→c (possibly c=z if k=3). At some point in the first round, b will be updated. Either c will become another zero in-degree node, or a will be the only node that points to c. Either way, consider G∖{a,c}. By the induction hypothesis, after rounds 2 through k−1, this graph will become a self-loop with k−3 nodes pointing to it. It's also easy to see that a and c both have in-degree 0 after round 2. Then in one more round after round k−1, we must have a and c pointing to the self-loop. So we are done for n=k.
By induction, we are done for all n.