A solution could be to use triple-click on home button to activate Assistive Touch :
Turn on AssistiveTouch
When you turn on AssistiveTouch, you’ll see the AssistiveTouch menu. You can drag it to any edge of the screen, then tap the menu to open it.
There are a few ways to turn on AssistiveTouch:
Go to Settings > General > Accessibility > AssistiveTouch, then turn on AssistiveTouch.
Tell Siri “Turn on AssistiveTouch.”
Go to Settings > General > Accessibility > Accessibility Shortcut and turn on AssistiveTouch.
When Accessibility Shortcut is on, you can turn AssistiveTouch on or off from any screen using Triple-click Home. Just press the Home button three times. To adjust the Triple-click speed, go to Settings > General > Accessibility > Home-click Speed.
This would turn a triple click on home button to a lock screen button click !
Another alternative which is not as good as the first one, I think, is to move all app icon which are in the bottom right of each of your screens so you could place assistive touch here and it won't be hovering an app icon as there is no more app icon here.
Finally, I don't think there is any app which could lock your screen without jailbreaking your iPhone.