How do I make text appear in chat?

You could activate it based on a player's location, so when a player reaches a certain point it progresses the story. In an always on repeating command block put:

execute if entity @a[x=,y=,z=,dx=,dy=,dz=] as someBoss run say You'll never defeat me!!

You'll need to fill in the x y and z coords and the x y and z distances, or just use a distance= tag (which might actually be easier), and customize the message. You can change the name someBoss to whatever the name of your boss is. Alternatively, just put the command block under the floor where you want it to activate and use only the distance tag, so you don't need coords for every message you want to display.