Du definierst zweimal die Funktion on_message das heisst, beim zweiten mal überschreibst du die erste.
Um beide Befehle zum funktionieren zu bringen, musst du folgendes machen:
import discord
client = discord.Client()
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$hello'):
await message.channel.send('Hello!')
if message.content.startswith('$hi'):
await message.channel.send('Hi!')
client.run("meintoken.txt")