Dice roller - python
A bit of honesty

When starting to review your code, I found it unintelligible and I was unable to follow the logic. I was able to understand what you are trying to do but not your implementation so I will post a few improvements here. 

Structure

There is no need for the for loop in the body. You can see this as you do not use the value you gain from the interand. Because of this, we can cut the loop out. 

.lower()

We can strip checking for a lowercase or uppercase answer by using .lower(). This takes a string and returns the all lowercase equivalent. This means we can strip the user input check to: if start.lower() == "y":

Walrus operator

New in Python 3.8 is the walrus operator! It looks like this :=. We can use this in the while loop as it can handle prompting the user to quit. We can combine this with the .lower() to simplify the while loop.

Unused import

Despite importing random.seed you never use it, we can remove it from the imports. 

Final code

from random import randint
dice = [
[[1],[2],[3]],
[[4],[5],[6]],
[[7],[8],[9]]
]

def diceroll():
    """Loop over dice and print the value"""
    start = input("do you want to play dice Y/N ")
    if start.lower() == "y":
        print(dice[0])
        print(dice[1])
        print(dice[2])

        while (x := input("Do you want to roll the dice?  [y/n]: ").lower()) == "y":
            roll=randint(1,9)
            print(roll)
    else:
        print("GoodBye: ")


Further improvements

The function uses a global variable which is a bad practice, it is much better to give the function the global variable as an argument. I did not know if you wanted the dice array for something else, so I left it as it is. Also I question the need for a dice array in the first place, but again, this is your code with your own spec.