i have a bunch of hexagons all in one object, but I want them to form to a point while staying separate like this when I try to use a boolean to do this all the hexagons fuse together in odd patterns and almost none of them have faces, is there an easy way to do this?
This can be done, although it is a bit of a work around.
Select the hexagon object and add the Boolean Modifier to this object (as apposed to the object that cuts it in to a point), and as the modifier Object select the cutting object.
Add the hexagon object to a collection (this is optional but makes things slightly easier. Also in the future this is how you might be doing this step)
Select the hexagon object and go into Edit Mode. Press P to Separate > By Loose Parts. Now all the hexagons are separate objects, but they all have the Boolean Modifier.
Now you want to apply all the modifiers, but it would be cumbersome to do them individually. Luckily there is a trick. Select all the separate hexagon objects (possibly by right clicking the collection and choosing Select Objects) and then press Alt + C to covert them to different type of object and choose Mesh from Curve/Meta/Surf/Text. The hexagons are already a mesh but this operation will apply all the modifiers.
Finally select all the separate hexagon objects (make sure one is selected to be the active object) and press Ctrl + J to Join them into a single object again.
Because the boolean operation was done on each hex individually the chance of missing faces in significantly reduced (i think you'll find none, and I'll be surprised if you'll find any) and fusing together should be impossible.