Instantiate GUI.Button

I would like to instantiate GUI.Button based on the number of strings that I have. For example if I have three strings I would want to create 3 GUI.Button each containing the different string values.

Did you try to read the doc? Simply write:

if(GUI.Button(rect, string1)){}

and this as many time as you have string.

or do you mean you want to create a menu but you d not know in advance how many string you have?

then you can store the strings in an array and do the button in a for loop:

public string [] strArr

void OnGUI(){
    for(int i = 0 ;i < strArr.Length;i++){
        if(GUI.Button(rect_,strArr*)){}*_

}
}
you also need to define the position depending on the amount of strings. This is then just some basic math using the width of the screen divided by the number of string.