Because it is not generally possible nor even desirable to reproduce the exact same code environment (think of bugfixes and security updates for example), when exporting/importing a code environment, DSS uses the "requested" state of the packages, not the "current" state.
The concept of code envs is that you give a list of packages with optional version constraints that you want installed. When you click update, Pip installs the missing packages so that your requirements are matched.
Here, your requirements are only "PyGithub". In other words, you don't require your code env to have lxml, bs4 or markdownify, so DSS won't ask pip to install them. Add them to the "Requested packages" list before exporting.