The issue is that there are multiple iRules running on the virtual server. These will all be run for each request and there are multiple redirects and responses which are causing clashes.
The long-term answer is to review these, move them to a single iRule or preferably LTM policy which is easier to manage.
In the short term, you can stop the further iRules from being triggered by using
event disable all
after the redirect command.
eg
when HTTP_REQUEST {
HTTP::respond 301 Location https://[getfield [HTTP::host] ":" 1][HTTP::uri]
event disable all
}