Core issue
This happens because the interfaces with same security level cannot communicate to each other.
Resolution
Typically the inside interface has a default security level of 100, and the outside interface has a default security level of 0.
The inside interface cannot be renamed or given a different security level. The outside interface can be renamed, but not given a different security level.
Other interfaces can use any number between one and 99.
For access from a higher security to a lower security level, use the nat and global commands or the static command. For access from a lower security level to a higher security level, use the static and access-list commands.
Note: Interfaces with the same security level cannot communicate with each other. So, it is always recommended that every interface has a unique security level.
Refer to the nameif command for more information on security levels.