why doesn't libsecp256k1 support point addition
It does, it's called pubkey_combine and can add multiple points.
It might be a little overkill if you use it in a long loop / a lot of times, though. Depending on your use case there can be much faster custom ways to do it though.