As with paint -- the best philosophy is to stick with oil-oil, water-water, or oil over water.
However, it's is not a 100% rule. It is possible to apply water-based sealer over oil-based stain IF, and only IF, the stain was given more than adequate time to dry (days, not hours). That said, it is very possible that you can still have issues with bleeding or peeling.
So, for my money, I'd rather not risk it just to save a few bucks.
Clay Absorbent.
This stuff is available at most auto parts repair stores. Sometimes it is available at big box stores.
It is NOT the same as cat litter although it looks strikingly similar. The resemblance is so close that "kitty litter" is the 'street' name for this product.
However, clay absorbent is far superior in its ability to remove oil from concrete. For example, my father and I moved a broken 2.5 hp motor over a concrete walkway in a plastic tub. At some point the load became unstable and the engine tilted enough to force us to drop the tub. In doing so, we streaked the walkway with oil approximately 2" wide and 6" long.
Since I was away from home and he did not have any clay absorbent on hand, I promptly drove to purchase some and placed the product according to the manufacturers directions. After the second application was swept up, I made a third application and ground the product into the concrete with my shoe and left it to sit until the next rain washed it away (not recommended, but hey the walkway was pristine beforehand and my dad has a low carbon footprint).
To this day, there is a spot on the walkway that is cleaner than the rest. I am not exaggerating in the least when I say that the entire section now needs the ground-in-and-washed-off treatment to help minimize the white spot left behind where there was a dark black oil spot before.
Two applications should do for what you need. Skip the ground in trick unless you promise to recover the waste water ;)
Edit:// Just read where you said spots are old and kitty litter will not work.
Try the clay absorbent. It is about 100% more effective than cat litter on any day. Also, if it does not come up, leave it for a night or two.
Other than that, (using a test spot!!!) dampen the concrete with fresh oil (detergents good...) then place the oil dry over it and leave for at least a day. If all else fails, grind it in!
Best Answer
This is a film sealer, as opposed to a penetrating sealer (bare concrete, grout). I know of no solvent/stripper that will remove an acrylic finish that won't remove (or damage) a latex undercoat.
I would try a reverse progression of grits, until you get to the paint. You may need to wait weeks for a hard enough/dry enough sealer surface. Start at 600 over a sanding block. Only go rougher if you make no progress (320, 220, 120). Only sand enough to get TO the paint, then recoat with the sealer. If you have access to a sprayer, it will make blending the areas easier (to hide lap marks)