Почему неправильно "Я говорю не по-французски"? Разве Я не говорю по-французски будет не "Ich spreche Französisch nicht"?
здесь же отрицается действие. Так почему kein, а не nicht?
В немецком языке отрицается именно язык.
То есть Ich spreche nicht... будет неправильно?
Нет. Если вы говорите по-немецки «я не разговариваю на (название языка)», следует употреблять «kein».