Adding multiple shape keys with python and bmesh while creating a mesh
Alternative Route


Not using bmesh verts shape layers.
Created verts with a list comprehension, then reiterated over verts
using the vertex index to index which shapekey layer data.
Pre-made the 10 shapekeys.  Each key is a data layer on the verts that
holds the shapekey location.  The default if not set is the 


Test script. 

import bpy
import bmesh
from math import ceil
from bpy import context
N = 20 # total number of verts
g = 10 # verts per sk

scene = context.scene
me = bpy.data.meshes.new("Squircle")
obj = bpy.data.objects.new("Squircle", me)

bm = bmesh.new()
verts = [bm.verts.new((i, 0, 1)) for i in range(N)]
sk = obj.shape_key_add("Basis") 
# make shapekeys
sks = [obj.shape_key_add("SK_%02d" % i) for i in range(g)]

bm.to_mesh(me)

for v in bm.verts:
    sks[v.index % g].data[v.index].co = (0, v.index, 2)
scene.objects.link(obj)