Want to run two scripts when I change to edit mode
Not sure if this is what you are looking for (and maybe there is a way to do this without scripting). 

This add-on will let you activate edit mode (with face select) by pressing ctrl + shift + Q in 3d viewport (see comment in code to change hotkey). 

I have modified the Operator Simple template (Text Editor, Templates->Python):

import bpy


bl_info = {
    "name": "Set Edit Mode",
    "description": "Set edit mode with face selection",
    "category": "Object",
    "blender": (2, 80, 0),
}

def main(context):
    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='FACE')

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    @classmethod
    def poll(cls, context):
        o = context.active_object
        return o is not None  and o.type == 'MESH' and \
            context.mode != 'EDIT_MESH'

    def execute(self, context):
        main(context)
        return {'FINISHED'}

keymap = None

def register():
    bpy.utils.register_class(SimpleOperator)
    c = bpy.context.window_manager.keyconfigs.addon
    if(c):
        m = c.keymaps.new(name='3D View', space_type='VIEW_3D')   
        # Hotkey - ctrl + shift + Q
        i = m.keymap_items.new("object.simple_operator", 'Q', 'PRESS', \
            shift = True, ctrl = True)
        keymap = (m, i)

def unregister():
    if(keymap != None):
        keymap[0].keymap_items.remove(keymap[1])

    bpy.utils.unregister_class(SimpleOperator)


if __name__ == "__main__":
    register()