Your Torus is a manifold mesh, like it should be. Your Holes object, which you are using as the target of the torus's boolean modifier, is not, so the boolean doesn't make any sense to Blender. And, it's laying on the surface of Torus, with aligned edges, so there's really not any difference between meshes to boolean away.
We can give Holes a solidify modifier, which will turn it into a (nearly) manifold mesh, at which point our boolean ought to work:
Notice the settings on the solidify. I set the offset to 0, so that Holes would thicken in both directions (it's no good if it just thickens outwards, it's lying on the surface of Torus.) I tuned the thickness to eye, and you can see the results in the left window, where I've just got Torus visible: Torus now has thickened Holes cut from it.
I said almost manifold. Holes has some faces like these:
When we solidify Holes, that turns into an edge shared by 4 different faces, which is a big no-no. Calculating normals from a mesh with edges like that is unreliable at best. In your file (exact solver), in 2.93.5, it works. I would expect it to break in older versions of Blender. It still leaves the post-boolean Torus with some non-manifold geometry, which might be a problem for further operations.
If you want to fix that, you might give some thought about exactly what you want these kinds of holes to be, and either clearly join or separate Holes's faces that are joined by only a single vertex.