Audit entry reason issue

I'm trying to log the most recent ban reason entry from the audit, however it's taking the ban reason from an old audit entry.

Here is my code:

@commands.Cog.listener()
async def on_member_ban(self, guild, author):
    now = dt.datetime.utcnow()
    async for entry in guild.audit_logs(limit=2, oldest_first=False, action=discord.AuditLogAction.ban):
        if abs((entry.created_at-now).total_seconds()) >= 5:
            if entry.reason:
                reason = entry.reason
            else:
                reason = 'No reason was given.'

            embed = discord.Embed(timestamp=now, colour=discord.Color(random.randint(0x000000, 0xFFFFFF)))
            embed.set_author(name=f'{author.display_name} was banned.')
            embed.set_thumbnail(url=author.avatar_url)
            embed.set_footer(text=f'Banned by {entry.user.display_name}', icon_url=get_user_avatar(entry.user))
            embed.add_field(name='**Reason:**', value=reason)

    await self.bot.send_log_message(guild, embed=embed)  

Help would be greatly appreciated.