How to detect collisions between two rectangular objects or images in pygame

I am making a game in which the player has to use a bowl to catch falling items. I have some images of items in a list and an image of a bowl that is used to catch the items. The items keep on falling and reset to the top of the screen if they reach the boundary (bottom edge). I got this logic done which allows the items to fall but I do not know how to detect when there is a collision between the bowl and item.

Why is my collision test always returning ‘true’ and why is the position of the rectangle of the image always wrong (0, 0)?

My collide_rect function isn’t working properly. It always returns True, when it’s not suppose to. I have tried looking on the internet but nothing is working for me. I think the collide rect somehow did not use the actual coordinates for the two sprites. Can anyone help with this?

Pygame mask collision

I’m trying to get proper collision detection with rotating surfaces in pygame. I decided to try using masks. It somewhat works, but it is not as precise as I’d liked/thought. I tried updating the mask at the end of the cycle to get a “fresh” hitbox for the next frame, but it didn’t work as expected. What is my mistake?