Eevee multicolor gradient by object location?
In order to achieve this you need to take account of both the X and Y location - your current example is only using X from the Separate XYZ node.
Something like the following should do the trick :

Here the X and Y are used to generate the Red and the Green channel of the resultant color and the Blue is generated using some maths to color from the opposite corner of the range (ie, subtract each of X and Y from 1 to invert the range and use the minumum to combined them). The two Value nodes are used to control the Range of the fade (the one on the Mapping node) and the spread of the colors (the ones connected to the Power nodes). The start location of the range any any rotation can be controlled via the Mapping node.
This produces the following result :

To get different mix of colors you can adjust the maths to something more complicated. You could potentially add a Color Ramp before each input of the Convert XYZ node to give you more visual control of the result (with each controlling the level of that channel via gray-scale values).