Editing a mesh in proportional mode from script
As you can see from your result,  simply adjusting the vertex location via script will not invoke proportional editing.  The translate.transform operator has all the settings you need.

Here is a test script to add 10 random bumps to a grid already in edit mode.

import bpy
import bmesh
from random import randint

context = bpy.context

bm = bmesh.from_edit_mesh(context.edit_object.data)
# deselect all
for v in bm.verts:
    v.select = False

for i in range(10):
    transform = (0, 0, 1)
    v = bm.verts[randint(0, len(bm.verts) - 1)]
    v.select = True
    bpy.ops.transform.translate(value=transform, 
                            constraint_axis=(False, False, False),
                            constraint_orientation='GLOBAL',
                            mirror=False, 
                            proportional='CONNECTED',
                            proportional_edit_falloff='SMOOTH',
                            proportional_size=1)
    v.select = False


Adjust accordingly into methods etc to suit your requirements. Being an operator it needs to have context,  To "dimple" multiple objects 

for obj in multiple_objects:
    scene.objects.active = obj  # make context
    bpy.ops.object.mode_set(mode='EDIT')
    #dimple(...)
    bpy.ops.object.mode_set(mode='OBJECT')