How do I offset each bone's keyframes to be 10 frames later than the previous bone?
Amended code to do somewhat what you want.

Shifts keyframes 0 for first fcurve, 10 for next, 20, 30...

Have made it adjust only the action on the active object.

import bpy

ob = bpy.context.object
ob.animation_data_create()  # lazy way to make animation data exist
action = ob.animation_data.action
if action:
    for i, fcurve in enumerate(action.fcurves):
        for point in fcurve.keyframe_points:
            point.co.x += i * 10


Please use consistent 4 space indent

Re finding which fcurve is which see https://blender.stackexchange.com/a/111326/15543

To order the fcurves firstly by data_path, and secondly by array index eg

pose.bones["bar"].location.x
pose.bones["foo"].location.x
pose.bones["foo"].location.y


Use something like

fcurves = sorted(action.fcurves, key=lambda fc: (fc.data_path, fc.array_index))