include: jobs exist independently from the build matrix and are added on top of it.
So you get two jobs from the python: axis in the default test stage, accompanied with all the jobs you specified in include:, without a python: setting.
AFAICS from https://docs.travis-ci.com/user/build-stages/#how-to-define-build-stages , stages are not considered an axis so you cannot add jobs to more than one stage using the matrix.
As such, the way to go seems to be to either
- specify all the jobs manually, using YAML aliases to reduce duplication, or
- only manually duplicate jobs as above in stages with fewer jobs and specify
python:for them manually.