The upper limit really depends on your risk. The birthday attack's 50% probability is a too big risk to rely on. Let's look at some numbers assuming that the total of the points is $2^{256}$ which is not bu very close*. Assuming the keys are constructed uniform randomly like a coin toss.
We will use the fact that the probability of collision among uniform randomly selected $k$ elements in the set of $n$ element can be approximated by $(2^{k})^2/2^{n}/2=2^{2k-n-1}$
Consider $2^{100}$ private keys, that has a probability of collision
$$(2^{100})^2/2^{256}/2 = 2^{200 - 256 - 1} = 1/2^{57}.$$ Not going to happen $\times 2^{-40}$ ans still very low proabaility to execute an attack.
Consider $2^{90}$ private keys, that has a probability of collision
$$(2^{90})^2/2^{256}/2 = 2^{180 - 256 - 1} = 1/2^{77}.$$ Not going to happen $\times 2^{-20}$
Consider $2^{80}$ private keys, that has a probability of collision
$$(2^{80})^2/2^{256}/2 = 2^{160 - 256 - 1} = 1/2^{97}.$$ Not going to happen
Consider $2^{70}$ private keys, that has a probability of collision
$$(2^{70})^2/2^{256}/2 = 2^{140 - 256 - 1} = 1/2^{117}.$$ Not going to happen $\times 2^{20}$
Consider $2^{60}$ private keys, that has a probability of collision
$$(2^{60})^2/2^{256}/2 = 2^{120 - 256 - 1} = 1/2^{137}.$$ Not going to happen $\times 2^{40}$
Consider $2^{50}$ private keys, that has a probability of collision
$$(2^{50})^2/2^{256}/2 = 2^{100 - 256 - 1} = 1/2^{157}.$$ Not going to happen $\times 2^{60}$
Consider $2^{40}$ private keys, that has a probability of collision
$$(2^{40})^2/2^{256}/2 = 2^{80 - 256 - 1} = 1/2^{177}.$$ Not going to happen $\times 2^{80}$
Actually, there is no need to look lower than $2^{70}$ since the probability is already is so tiny to happen. When it is around $1/2^{100}$ we simply say that it is not going to happen. Similarly, there is no need to look over $2^{80}$ since normally, that amount of users is not going to be needed. This also shows that if an entity tries to randomly guess the private keys, will fail.
In the case that one entity decides to attack all $t$ targets than the cost to find the first of $t$ target is not cheaper than the DLOG.
* the order of the base point is = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141