Append () используется для изменения содержимого тегов. Посмотрите документацию здесь, https://www.crummy.com/software/BeautifulSoup/bs4/doc/#navigablestring-and-new-tag.
Эта строка вашего кода:
tag.append = jscodestring # this is not adding the javascript to the html file
должно выглядеть так
tag.append(jscodestring) # this is not adding the javascript to the html file
Несмотря на это, выполнение этого просто поместит строковое значение, равное jscodestring, равное внутри содержимого вашего тега.
Что вы хотите сделать, так это добавить новый атрибут в тег скрипта.
Это можно сделать примерно так. Я не вижу содержимого diffhtml, поэтому не могу быть уверен.
soup.find('script')['selected'] = '<path to your javascript file>'
Проверьте это сообщение для другого примера, BeautifulSoup - добавление атрибута к тегу .
(РЕДАКТИРОВАТЬ) Чтобы код выглядел следующим образом
<script> Hello World!</script>
вам просто нужно сделать tag.append("Hello World!")
или поместить переменную, которая является строкой, внутри append ()