I'm a junior developer with a 1 year and 6 months of experience. I'm currently in a start-up (14-20 employees) where I'm working as a web developer on the company's main app/product (it's a 1 year long internship). Before this I worked for 6 months in another start-up while getting my college degree, but after getting it they didn't renew my internship period and I had to look for another job. All offers that I saw were +1 years of experience so I joined the one that looked better and matched my skill-set.
I joined 7 months ago as a "web developer intern" with an internship contract, but after the first month I've been working on tasks that could be considered 100% a normal developer's job. When I joined I was working directly under the CEO's orders + the CTO, helping on multiple tasks on a daily basis. After that I started working on new features under the boss's indications, while the CTO worked on other projects. Now there's a new developer who has my same age but more experience than me, and when comparing my job to his, we could say that I'm doing the same amount of work. The boss knows that I'm performing more than expected, so he usually tells me "you're doing a great job" and stuff like that. I usually work on solving bugs/problems that directly affect the customers and he tells me that "it's a good training", but I know that what I'm doing it just a developer's job instead of training. One of the employees of the company that I got along with told me that "they're profiting off you", which I think means that they're getting a developer's worth value while saving 50% with an intern, but I don't know what to think about that.
I'm very happy with the company, I work extra-hard to meet the boss's expectations because I'm hoping for a really good offer after I finish my internship (sometimes even on weekends to finish deadlines, unpaid overtime of course), but at the same time I'm considering asking my boss to reconsider my contract now and give me a permanent position. My contract finishes in 6-5 months. What's the best course of action in this sitatuon?
Edit: The current internship is paid, but of course it's lower than the role's average pay or the current offers for the same position in the market.