Let us assume each of the projects you are using has a license which allows this. (You have already checked it, did you?)
Start with making sure you know how to handle dependencies to other Github projects properly when there are no modifications involved, like described here. That is actually the situation you should try to achieve, since it will allow you to publish the dependencies without creating duplicates of the other project's source code. Crediting the original developers is a non-issue this way.
However, you wrote
There have been slight modifications to each and every one of these projects
which means, you have forked several Github projects. These forks are currently only existing in your local environment, but when these projects are evolved in parallel by their maintainers (not knowing anything about your fork), you risk getting maintenance issues.
So what can you do to prevent this when you publish your project to the world? It depends on the nature of your modifications and the way those projects are managed.
Pull requests
First thing you should try is to publish the modifications as pull requests to the owners/maintainers of the projects you modified. Ideally, they accept those modifications, which will bring you to a situation where you can just reference their project in unmodified form.
Furthermore, the maintainers are now aware of your requirements and will hopefully keep that in mind when evolving the project further.
Of course, for this approach, you should avoid add modifications which are exclusively suitable for your system. For example, instead of directly modifiying some hardcoded text in a project, you could make the text a configuration option, and then configure it inside of your own code.
Forking on Github
If the maintainers don't accept your change, for example because they have abandoned the project, the second best option is to fork the project on Github, and reference that forked repo as an external dependency. That makes your changes public, and gives you and others at least a chance to sync your fork with the main line in the future.
Copy-paste reuse
If you just copied some code snippets or isolated source code files into your own project and made some modifications to them, make sure the license (which needs to be permissive enough to allow this) is part of each source file. In this case, you should simply include all those source files in your project, but mention where you got them from.
Note that he responsibility for any maintenance for the copied code has now shifted to you, so I would recommend to use this approach only when you are sure it is very unlikely the code needs any maintenance in the future you cannot provide by yourself.