How to set a random value for multiple shape keys?
I'd recommend random.uniform(a,b) for a random float range:
import bpy
import random

# iterate through the shape keys of the context object
for shape_key in bpy.context.object.data.shape_keys.key_blocks:
    
    # check if it's not the first one
    if shape_key.name is not 'Basis':
        
        # assign a random float between 0 and 1
        shape_key.value = random.uniform(0, 1)
        
        # print the values
        print (shape_key.value)

The values should look like this:
0.5418003797531128
0.4634256660938263
0.77964186668396
0.37678709626197815
0.8787218332290649
...


For better access, I've implemented this functionality into this Add-on:

Exclude input field checks whether the 'name' of the shape key starts with 'your input' and also accepts multiple values (comma seperated)  in order to ignore placeholder shape keys like  --- Test --- or ### Test ### via *, - at once.