Dificuldade me Matriz(INICIANTE)

Meu Codigo:

    m1 = [[1, 2, 3],
          [4, 5, 6]]
     m2 = [[2, 3, 4],
           [5, 6, 7]]

 def soma_matrizes(m1, m2):
          matriz_soma = []
          linhas = len(m1) 
          colunas = len(m1[0]) 
     for i in range(linhas):
           matriz_soma.append([])
           for j in range(colunas):
                soma = m1[i][j] + m2[i][j]
                matriz_soma[i].append(soma)
     return matriz_soma

como que eu faço para ele fazer uma função igual do exemplo:
Exemplo 1:

        m1 = [[1, 2, 3], [4, 5, 6]]
        m2 = [[2, 3, 4], [5, 6, 7]]
        soma_matrizes(m1, m2) => [[3, 5, 7], [9, 11, 13]]

Exemplo 2:

       m1 = [[1], [2], [3]]
       m2 = [[2, 3, 4], [5, 6, 7]]
       soma_matrizes(m1, m2) => False

Cara, acho que você precisa calcular o total de colunas de cada matriz como explica nesse post e não somente o primeiro bloco como você fez em

colunas = len(m1[0])

Acho que no seu caso ficaria melhor dessa forma…

linhas_m1 = len(m1)
colunas_m1 = sum(len(linhas) for linhas in m1)

linhas_m2 = len(m2)
colunas_m2 = sum(len(linhas) for linhas in m2)

Assim logo no começo da função você já testa de vai dar False…

if linhas_m1 != linhas_m2 or colunas_m1 != colunas_m2:
    return False

# ... prossegue com a soma....