Going back to the OP's question of "how can I fix the staining problem" there is a technique used in handpainting designs onto cloth with dyes which obviously suffers from the same bleed through effect, and that is to use a "blocker" - it's a liquid that inhibits the bleed through and used as a very thin border.
In your case I would suggest a similar approach, assuming you are OK with the natural colour of the wood for one half of the checkerboard effect you could use a dilute varnish CAREFULLY applied, on 50% of the blocks.
To reduce the chance of bleed through affecting the blocks you want to stain, BEFORE applying the varnish I would suggest scoring a knifeline along the block joints on the table face, good pressure but not so hard to split the joint. This will make it harder for any stain or varnish to bleed onto the adjacent blocks.
Yes it'll take a while.
Yes it'll be a PITA.
Yes you'll have to use a straightedge and a steady hand.
But having used this technique myself when ebonising a section of oak kitchen door, to leave the rest of the door unebonised, I had very good results a dozen doors and no bleedthrough that was obvious.
One thing that might be in your favor is endgrain draws in stain vertically rather than horizontally - mostly - so with a scored knifeline, SHARP KNIFE it'll be enough of a barrier.
No, masking tape WILL NOT WORK - just trust me - even the best tapes won't stop a stain from bleeding underneath.
After you've done the varnish, possibly twice, and you've been careful to follow the block outlines you should be good to stain over the table as a whole, then wipe off the excess.
Once you've achived the colour you want, finish the whole table with several more coats of something hardwearing to protect all that work and effort.
Make sure you finish the underside too to reduce chances of cupping etc.
If that all sounds like too much - try remaking the top as per some suggestions above, the only thing I would add is to soak the endgrain in the same dilute varnish of 50% of the blocks, making sure to sand off the excess from the sides of the block BEFORE glueup - personally I'd sit them in a roasting tray of the stuff for at least 24 hours so it penetrates enough to allow you to sand or plane off a mm if there's discrepancies after the glueup.
You might want to dab a bit on the endgrain after removing from the trayand upending them to dry, to create a smooth endgrain surface if it's a softwood (depending on the wood ofc)
The reason I'm suggesting dilute varnish as opposed to danish oil is the varnish will form a film over the endgrain as danish oil will penetrate but possibly leave open pores on the very surface that the stain will go into and you'll have a difficult job to remove it.
Oh - for the stain I'd suggest an oilbased stain or gel if you are using softwood - waterbased stains WILL swell softwoods and you're back to cracks forming as mentioned by someone else above.
Hope that helps. Heh sorry for the novel, got away from me a bit there
PS - here's one I did earlier:
Each of the dozen doors were old oak doors that had had decorative glass mouldings and I was asked to renovate them, but otherwise given free reign on the style. I had previously tried to ebonise the moulding hoping that the natural border between the 2 pieces of glued wood would stop bleed through. It didn't. However a good sharp knifeline did. (homemade marking knife, scalpel sharp), knifeline did not add any width to the natural joint but went DEEP ENOUGH, and thats the crucial bit to stop bleed through.