Программа выполняется в два потока. Следовательно принт Аватара может произойти как до, так и после принтов в первом потоке. И '\n' в print(f'\n{avatar}') не нужен. Предыдущий принт уже добавил символ переноса.
Самое банальное решение - убрать многопоточность вообще (она тут не нужна):
vk_id = '231962842'
url = f'https://onli-vk.ru/pivatfriends.php?id={vk_id}'
content = requests.get(url)
soup = BeautifulSoup(content.text, 'html.parser')
accounts = soup.find_all('div', class_="post_info")
photos = soup.find_all('div', id="change")
for blocks in accounts:
href = blocks.find('a')
id = "ID: {}".format(href.get("href").replace('https://vk.com/id',''))
name = "Имя: {}".format(href.text)
profile = "Профиль: {}".format(href.get("href"))
print(f'\n{id}\n{name}\n{profile}')
for avatars in photos:
src = avatars.find('img')
avatar = "Аватар: {}".format(src.get("src"))
print(f'{avatar}')