MP3 doubles in displayed length when converted from M4A

I've written a Python script that gathers the metadata of an .m4a file (artist, title, etc.), converts the .m4a to an .mp3, and then saves the metadata to the new .mp3.

When I play the new MP3 in iTunes, the displayed length of the track is double that of the M4A version. (the normal track length is 3:37). See the image below:

iTunes Track Length Crop

Interestingly, when the 7:14-long track reaches 3:37, the song ends like normal, skips the remaining displayed time, and goes to the next song. But when I click around to various places in the track (including timestamps beyond 3:37) using the widget shown in the image below, it seems to play at the relative point in the song instead of playing nothing. (For example, dragging to 7:00 and hitting "play" plays the normal end of the song, identical to what plays at the ~3:23 timestamp of the original M4A). It's hard to describe... hopefully this makes sense.

My code is here:

from pydub import AudioSegment
from tinytag import TinyTag
from mutagen.easyid3 import EasyID3
from mutagen.mp3 import MP3
import mutagen

song_directory = "/Users/mgermaine93/Desktop/Test-Music/"
song_name = "03 Dylan Thomas.m4a"
song_name_minus_file_type = song_name[0:-4]
song_file_type = song_name[-4:]
song_full_name = f"{song_directory}{song_name}"

# This grabs the track information from the existing file before it is converted
mp3 = TinyTag.get(f"{song_full_name}")

album = mp3.album
# album_artist = mp3.albumartist
title = mp3.title
artist = mp3.artist
composer = mp3.composer
genre = mp3.genre
year = mp3.year
track_number = mp3.track
track_total = mp3.track_total
disc_number = mp3.disc
disc_total = mp3.disc_total
duration = mp3.duration
print(f"This is the duration of the m4a: {duration}")

# This part does the conversion from m4a to mp3
m4a_audio = AudioSegment.from_file(
    f"{song_full_name}", format="m4a")
    f"{song_directory}{song_name_minus_file_type}.mp3", format="mp3")

# This assigns the m4a track field values to the new mp3
mp3 = EasyID3(f"{song_directory}{song_name_minus_file_type}.mp3")

mp3['album'] = album
mp3['title'] = title
mp3['artist'] = artist
mp3['composer'] = composer
mp3['genre'] = genre
mp3['date'] = year
EasyID3.RegisterTextKey('track total', 'TRCK')
mp3['track total'] = f"{track_number}/{track_total}"
EasyID3.RegisterTextKey('disc total', 'TPOS')
mp3['disc total'] = f"{disc_number}/{disc_total}"

# Get the properties of the mp3
new_song = TinyTag.get(f"{song_directory}{song_name_minus_file_type}.mp3")

new_duration = new_song.duration
print(f"This is the duration of the mp3: {new_duration}")

The current output of the script is:

This is the duration of the m4a: 216.85115646258504
This is the duration of the mp3: 216.94245058379644

The issue doesn't seem to affect anything meaningful as far as I know. And I'm sure there are more efficient ways to perform the file conversion, but what I've written does everything I want it to do. (Besides the slight difference in the duration values in the output above, the metadata of both files is identical.) I'm just befuddled as to why the display length would be different than what the metadata says the duration is.

Thank you in advance for any help.