I had this exact problem. If you put .contentShape(Rectangle()) after the .clipped() on the Image then it should solve the problem. This will change the clickable area of the Image to conform to the clipped area, and it should no longer cover the button.
See https://stackoverflow.com/questions/57675003/make-swiftui-tap-not-extend-beyond-bounds-when-clipped and https://stackoverflow.com/questions/63300411/clipped-not-actually-clips-the-image-in-swiftui