A thrice upgraded bonfire gives you 20 estus, and people kindling the last bonfire you sat at can give you one more estus. Can you get more than 20 estus, and if so, what is the limit?
No, you cannot have more than 20 flask charges.
You will have 20 charges after resting at +3 Bonfire (Kindled 3 times).
However, you can get extra charge if some other player kindles a bonfire in the same area. So effectively you can use more than 20 flasks after resting at bonfire, but you cannot carry more than 20 at the same time.
Another way to explain it tis that you can only ever hold up to 20 Estus. The maximum cap is at 20.
If you rest at a bonfire that only recovers 10 Estus (I.e. a +1 Bonfire), you can still get up to 20 Estus, by way of other people kindling the bonfire you previously rested at (This would take a long time, of course, but it is still possible).
Resting at Bonfires will recover your supply of Estus, up to the limit of that particular fire. After acquiring the Rite of Kindling the bonfires can be kindled to 15 and then to 20 Estus uses. Resting will always provide you with the maximum amount of Estus for that Bonfire. Therefore, you cannot get more than 20 estus.