i think i already have the solution

it's just dark basic pro being dark basic pro.
you see, to be able to use 2 joysticks with the same name, i have to call
set control device deviceName$,deviceIndex
and i didn't know the device index, but turns out the device index is in the same order as the checklist, starting at 0.
so checklist index 1 equals device index 0
so in order to use joysticks i have to set an index i want to use and assign the device using the device name and an index that is most likely the same that i will assign it to. i didn't expect this level redundancy, so that is where my error was.
this is a piece of code that works fine now:
empty checklist
perform checklist for control devices
count=checklist quantity()
for i=0 to count-1
name$=checklist string$(i+1)
set control device index i
set control device name$,i rem why can't i just use the index directly? why even use the name?
next i
width=260
height=text height("Mg")
do
cls
for i=0 to count-1
x=width*i
y=0
set control device index i
text x,y,control device name$() : y=y+height
text x,y,str$(joystick x()) : y=y+height
text x,y,str$(joystick y()) : y=y+height
text x,y,str$(joystick z()) : y=y+height
next i
LOOP
thank you LBFN for trying to help me. have a nice day

"It is only slightly easier than changing all sugar in a cake into stevia after it has already been baked" -Bisqwit