How do I instantiate same tag/name GameObjects with an array

I have an AI script that I am currently working on and what I want to do is to have the monster go to a mineral waypoint, eat the mineral, and after its done eating, delete it from the list and go to the next waypoint. That is the overall picture but right now all I am trying to do is have the monster go from one random mineral to next.

Here is the script:

private const int MaxNoOfMinerals = 6;

public GameObject everyMineralInLevel = new GameObject[MaxNoOfMinerals];

void Start () 
{
    for (int i = 0; i < MaxNoOfMinerals; i++)
    {
        everyMineralInLevel *= GameObject.Find("Mineral One");// or FindWithTag*
 *}* 
*}*
*```*
*<p>However instead of all 6 minerals being allocated in each slot, only the first one does and that first one gets put into all 6 slots. So my question is; how do I have same name/tag objects be distributed into each array slot so the end result is:</p>*
*```*
*Array[0] = Mineral One*
*Array[1] = Mineral One (different object than the previous one)*
*Array[2] = Mineral One (different object than the previous ones)*
*Array[3] = Mineral One (different object than the previous ones)*
*etc...*
*```*

use GameObject.FindGameObjectsWithTag("Tag") it will return you a created GameObject[] with everything it finds.