Steps 2 and 3 (modifying and republishing) are only legally allowed if you have permission to do so in the form of a copyright license that allows such actions. Without a copyright license, you are allowed to create a fork on GitHub (by means of GitHub's Terms of Service), but pretty much anything else is forbidden.
Copyright licenses come in many forms and besides how rigorous they are written, they vary in the permissions you get and the conditions under which you can use those permissions. Those permissions also may cover other intellectual property rights, such as patents, besides copyrights.
Those permissions and conditions range from "you can do whatever you want. You don't even need to preserve my copyright notices" and "you can do what you want as long as you preserve the existing copyright and license notices" to "any project you use this in must be available as open-source/free (libre) software" and "you must pay me to get a copy".
The license terms are often spelled out (in legal language) in a file called
License or something similar. Besides that, GitHub shows the name of license under which it is commonly known (next to the icon of the scales) and links to a page with more easy to understand information about the license.
Open-source license are a class of licenses that always include the permission that you can make changes to the code and that you can redistribute those changes, sometimes with the condition that the result must remain under the same license.
The Apache license that you refer to is a permissive open-source license. Its main requirement is that you make users of your app aware that it contains code under that license.