I discover a few things.
1. A seed bag is named after the first seed in the bag. If a bag contains, for example, 3 plump helme spawns, 1 blackberry seed, 2 garden cress seeds, the bag is a "plump helmet spawn bag".
2. If a dwarf finds a seed, he will look for a corresponding bag for this type of seed. If there is, he puts the seed in the bag. If there isn't, he tries to find an empty bag and put the seed in there. And this happens regardless of whether there is a stockpile for seed.
3. In 2, if a dwarf targets one bag, another dwarf can't use it. While a dwarf is bringing some seeds from dining room or brewery to the bag, any new seeds generated in the meantime will need to use another bag. This can cause several plump helmet spawns being in one bag and several being in another.
Hence, to make dwarf use bag most efficiently, ideally there should be a couple of seed bags for each type of seed. If, for example, your fortress usually consumes plump helmet, pig tail, cave wheat, sweet pod, whip vine, red spinach, bayberry, and apricot, that is 8 different types, you'd need 24 bags, and if any single type occupies more than 3 bags, you need to dump the seed from the extra bags.
edit:
In other words, dig out a 11x11 room and produce 121 bags and you should be fine. I now have raised individual seed cap to 100.